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

当需要使用堆栈数据结构检查字符串是否为回文时,会创建一个堆栈类,并定义push和pop方法来添加和删除堆栈中的值。另一种方法检查堆栈是否为空。

以下是相同的演示 -

示例

class Stack_structure:

   def __init__(self):

     self.items= []

   def check_empty(self):

      returnself.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 程序是回文 的全部内容, 来源链接: utcz.com/z/347575.html

回到顶部