जब यह जांचने की आवश्यकता होती है कि क्या एक एकल लिंक की गई सूची एक पैलिंड्रोम है या नहीं, एक तत्व जोड़ने के तरीके, पिछला नोड प्राप्त करें और यह जांचने के लिए कि क्या पैलिंड्रोम बनता है परिभाषित किया गया है।
नीचे उसी का एक प्रदर्शन है -
उदाहरण
class Node: def __init__(self, data): self.data = data self.next = None class LinkedList_struct: def __init__(self): self.head = None self.last_node = None def add_elements(self, data): if self.last_node is None: self.head = Node(data) self.last_node = self.head else: self.last_node.next = Node(data) self.last_node = self.last_node.next def get_previous_node(self, ref_node): curr = self.head while (curr and curr.next != ref_node): curr = curr.next return curr def check_palindrome(my_list): beg = my_list.head end = my_list.last_node while (beg != end and end.next != beg): if beg.data != end.data: return False beg = beg.next end = my_list.get_previous_node(end) return True my_instance = LinkedList_struct() my_input = input('Enter elements to the linked list: ').split() for data in my_input: my_instance.add_elements(int(data)) if check_palindrome(my_instance): print('The linked list is palindromic in nature') else: print('The linked list is not palindromic in nature')
आउटपुट
Enter elements to the linked list: 89 90 78 90 89 The linked list is palindromic in nature
स्पष्टीकरण
-
'नोड' वर्ग बनाया गया है।
-
आवश्यक विशेषताओं के साथ एक और 'LinkedList_struct' वर्ग बनाया गया है।
-
इसमें एक 'init' फ़ंक्शन होता है जिसका उपयोग पहले तत्व को प्रारंभ करने के लिए किया जाता है, यानी 'हेड' से 'कोई नहीं' और अंतिम नोड को 'कोई नहीं'।
-
'add_elements' नाम की एक अन्य विधि परिभाषित की गई है, जिसका उपयोग लिंक की गई सूची में पिछले नोड को लाने के लिए किया जाता है।
-
'get_previous_node' नामक एक अन्य विधि को परिभाषित किया गया है जिसका उपयोग कंसोल पर लिंक की गई सूची डेटा प्रदर्शित करने के लिए किया जाता है।
-
'check_palindrome' नाम की एक विधि परिभाषित की गई है, जो पहले और अंतिम तत्व की तुलना करती है, यदि वे समान नहीं हैं, तो यह निर्धारित करती है कि सूची प्रकृति में पैलिंड्रोमिक नहीं थी।
-
'LinkedList_struct' वर्ग का एक ऑब्जेक्ट बनाया जाता है।
-
लिंक की गई सूची के तत्वों के लिए उपयोगकर्ता इनपुट लिया जाता है।
-
तत्वों को लिंक की गई सूची में जोड़ा जाता है।
-
इस लिंक की गई सूची पर 'check_palindrome' पद्धति को कॉल किया जाता है।
-
प्रासंगिक आउटपुट कंसोल पर प्रदर्शित होता है।