使用栈检查字符串是否为回文 Python 程序
当需要使用栈数据结构检查字符串是否为回文时,会创建一个栈类,并定义 push 和 pop 方法来添加和删除栈中的值。另一个方法检查栈是否为空。
下面是相同内容的演示 -
示例
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”方法。
定义另一个空字符串,并反转字符串。
此反转后的字符串存储在空字符串中。
比较此反转后的字符串和来自用户的字符串。
如果它们相同,则表示它是回文。
否则,它不是回文。
在控制台上显示相关输出。
广告
数据结构
网络
关系数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP