जब यह जांचने की आवश्यकता होती है कि क्या स्ट्रिंग स्टैक डेटा संरचना का उपयोग करके एक पैलिंड्रोम है, तो एक स्टैक क्लास बनाई जाती है, और स्टैक से मान जोड़ने और हटाने के लिए पुश और पॉप विधियों को परिभाषित किया जाता है। एक अन्य विधि यह देखने के लिए जाँच करती है कि स्टैक खाली है या नहीं।
नीचे उसी के लिए एक प्रदर्शन है -
उदाहरण
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
स्पष्टीकरण
-
'स्टैक_स्ट्रक्चर' नामक एक वर्ग को 'इनिट' विधि से परिभाषित किया गया है।
-
यह विधि एक खाली सूची को इनिशियलाइज़ करती है।
-
'चेक_एम्प्टी' नामक एक अन्य विधि को परिभाषित किया गया है जो यह जांचता है कि स्टैक खाली है या नहीं।
-
'पुश_वल' नामक एक अन्य विधि को परिभाषित किया गया है जो तत्वों को स्टैक में जोड़ता है।
-
'pop_val' नाम की एक अन्य विधि को परिभाषित किया गया है जो स्टैक से तत्वों को हटाती है।
-
इस 'स्टैक_स्ट्रक्चर' का एक उदाहरण परिभाषित किया गया है।
-
स्ट्रिंग उपयोगकर्ता से ली गई है।
-
इसे पुनरावृत्त किया जाता है, और इस पर 'check_empty' विधि को कॉल किया जाता है।
-
एक और खाली स्ट्रिंग को परिभाषित किया गया है, और स्ट्रिंग को उलट दिया गया है।
-
यह उलटा स्ट्रिंग खाली स्ट्रिंग में संग्रहीत है।
-
यह उलटा स्ट्रिंग और उपयोगकर्ता से स्ट्रिंग की तुलना की जाती है।
-
यदि वे समान हैं, तो इसका मतलब है कि यह एक पैलिंड्रोम है।
-
अन्यथा, यह पैलिंड्रोम नहीं है।
-
प्रासंगिक आउटपुट कंसोल पर प्रदर्शित होता है।