使用栈检查字符串是否为回文的Python程序

使用栈检查字符串是否为回文的Python程序

如果需要使用栈数据结构检查一个字符串是否为回文,则需要创建一个栈类,并定义推入和弹出方法以添加和删除栈中的值。另一个方法检查栈是否为空。

以下是相同的演示−

更多Python相关文章,请阅读:Python 教程

样例

class Stack_structure:
   def __init__(self):
      self.items = []

   def check_empty(self):
      return self.items == []

   def push_val(self, data):
      self.items.append(data)

   def pop_val(self):
      return self.items.pop()

my_instance = Stack_structure()
text_input = input('Enter the string... ')

for character in text_input:
   my_instance.push_val(character)

reversed_text = ''
while not my_instance.check_empty():
   reversed_text = reversed_text + my_instance.pop_val()

if text_input == reversed_text:
   print("The string is a palindrome")
else:
print("The string isn't a palindrome")

输出

Enter the string... MalayalaM
The string is a palindrome

说明

  • 定义一个名为’Stack_structure’的类,并使用init方法初始化一个空列表。

  • 定义一个检查栈是否为空的方法,并命名为’check_empty’。

  • 定义一个名为’push_val’的方法,它可以向栈中添加元素。

  • 定义一个名为’pop_val’的方法,它可以从栈中删除元素。

  • 定义了’Stack_structure’的实例。

  • 从用户获取字符串。

  • 对其进行迭代,并在其上调用’check_empty’方法。

  • 定义了另一个空字符串,并颠倒字符串的顺序。

  • 将该反转字符串存储在空字符串中。

  • 将该反转字符串与来自用户的字符串进行比较。

  • 如果它们相同,则表示它是一个回文字符串。

  • 否则,它不是回文字符串。

  • 在控制台上显示相关输出。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程