Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

पायथन में लिंक्ड लिस्ट को उलटने का प्रोग्राम


मान लीजिए हमारे पास एक लिंक्ड लिस्ट है, हमें इसे उलटना है। इसलिए यदि लिस्ट 2 -> 4 -> 6 -> 8 जैसी है, तो नई उलटी लिस्ट 8 -> 6 -> 4 -> 2 होगी।

इसे हल करने के लिए, हम इस दृष्टिकोण का पालन करेंगे −

  • सूची को रिकर्सिव तरीके से उलटने के लिए एक प्रक्रिया परिभाषित करें solve(head, back)
  • यदि head मौजूद नहीं है, तो head वापस करें
  • temp := head.next
  • head.next := back
  • back := head
  • यदि temp खाली है, तो head वापस करें
  • head := temp
  • solve(head, back) वापस करें

बेहतर समझ के लिए निम्नलिखित कार्यान्वयन देखें −

उदाहरण

class ListNode:    def __init__(self, data, next = None):       self.val = data       self.next = next def make_list(elements):    head = ListNode(elements[0])    for element in elements[1:]:       ptr = head       while ptr.next:          ptr = ptr.next       ptr.next = ListNode(element)    return head def print_list(head):    ptr = head    print('[', end = "")    while ptr:       print(ptr.val, end = ", ")       ptr = ptr.next       print(']') class Solution(object):    def reverseList(self, head):       return self.solve(head,None) def solve(self, head, back):    if not head:       return head    temp= head.next    head.next = back    back = head    if not temp:       return head    head = temp    return self.solve(head,back) list1 = make_list([5,8,9,6,4,7,8,1]) ob1 = Solution() list2 = ob1.reverseList(list1) print_list(list2)

इनपुट

[5,8,9,6,4,7,8,1]

आउटपुट

[2, 1, 4, 3, 6, 5, 8, 7, 10, 9, 12, 11, 14, 13,]

  1. - पायथन में लिंक्ड लिस्ट उल्टा करें

    मान लीजिए हमारे पास एक लिंक्ड लिस्ट है, हमें इसे उल्टा करना है। यदि लिस्ट 1 → 3 → 5 → 7 जैसी है, तो नई उल्टी लिस्ट 7 → 5 → 3 → 1 होगी। इसे हल करने के लिए हम इस दृष्टिकोण का पालन करेंगे: लिस्ट रिवर्सल को पुनरावर्ती तरीके से करने के लिए एक प्रक्रिया परिभाषित करें solve(head, back) यदि head मौजूद नही

  1. - 3D सूची बनाने के लिए पायथन प्रोग्राम

    समस्या विवरण 3D सूची का अर्थ 3D सरणी होता है। इस प्रोग्राम में हम पूर्णांक तत्वों के साथ 3D सरणी बनाते हैं। उदाहरण इनपुट: 3×3×2 [[1,1,1],[2,2,2],[3,3,3]], [[4,4,4],[5,5,5],[6,6,6]] एल्गोरिदम 3D सूची का क्रम दिया गया है। फॉर लूप का उपयोग करके सूची बनाएं और डेटा प्रिंट करें। उदाहरण कोड # 3D सूची

  1. - वाक्य में प्रत्येक शब्द को उल्टा करने का पायथन प्रोग्राम

    समस्या विवरण यहां हम पायथन बिल्ट-इन फंक्शन का उपयोग करते हैं। सबसे पहले हम वाक्य को शब्दों की सूची में विभाजित करते हैं। फिर प्रत्येक शब्द को उल्टा करते हैं और एक नई सूची बनाते हैं, यहां हम पायथन लिस्ट कॉम्प्रिहेंशन तकनीक का उपयोग करते हैं और अंत में शब्दों की नई सूची को जोड़कर एक नया वाक्य बनाते है