Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

ตรวจสอบ Palindrome ด้วย Stack ใน Python

ใช้ Stack เก็บตัวอักษร แล้ว 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 class พร้อม push, pop, check_empty
  • Push ทุกตัวอักษรของสตริงเข้า Stack
  • Pop ทั้งหมดต่อกันเป็นสตริงกลับ (reversed_text)
  • เปรียบเทียบกับสตริงต้นฉบับ