使用棧檢查字串是否為迴文 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