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

पायथन में लिंक्ड लिस्ट की लंबाई


मान लीजिए हमारे पास एक सिंगली लिंक्ड लिस्ट है, हमें इसकी लंबाई ढूंढनी है। लिंक्ड लिस्ट में next और val फील्ड हैं।

उदाहरण के लिए, यदि इनपुट है [2 -> 4 -> 5 -> 7 -> 8 -> 9 -> 3], तो आउटपुट होगा 7।

हल करने के चरण

  • count := 0
  • जब तक node नल नहीं है:
    • count := count + 1
    • node := node का next
  • count लौटाएं।

उदाहरण

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

class Solution:
    def solve(self, node):
        count = 0
        while node:
            count += 1
            node = node.next
        return count

ob = Solution()
head = make_list([2,4,5,7,8,9,3])
print(ob.solve(head))

इनपुट

[2,4,5,7,8,9,3]

आउटपुट

7
  1. - पायथन में लिंक्ड लिस्ट में नोड्स को स्वैप करने का प्रोग्राम

    मान लीजिए हमारे पास एक लिस्ट L और एक मान k है। हमें शुरुआत से k-वें नोड और अंत से k-वें नोड को स्वैप करना है और अंत में अंतिम लिस्ट वापस करना है। उदाहरण के लिए, यदि इनपुट L = [1,5,6,7,1,6,3,9,12], k = 3 है, तो आउटपुट [1,5,3,7,1,6,6,9,12] होगा, शुरुआत से 3रा नोड 6 है और अंत से 3 है, इसलिए वे स्वैप ह

  1. - Python: सूची की सूची से K लंबाई वाली पंक्तियाँ हटाना

    Python में नेस्टेड सूची (सूची की सूची) से विशिष्ट लंबाई (K) वाली उप-सूचियों को हटाने के लिए लूप और len() फ़ंक्शन का उपयोग किया जाता है। उदाहरण my_list = [[41, 7], [8, 10, 12, 8], [10, 11], [6, 82, 10]] print(मूल सूची:, my_list) K = 2 print(fK = {K} (इस लंबाई वाली पंक्तियाँ हटाई जाएंगी)) # विधि 1:

  1. पायथन में लिंक्ड लिस्ट से m नोड्स के बाद n नोड्स डिलीट करने का प्रोग्राम पायथन में लिंक्ड लिस्ट से m नोड्स के बाद n नोड्स डिलीट करने का प्रोग्राम

    मान लीजिए हमें एक लिंक्ड लिस्ट दी गई है जिसका स्टार्ट नोड head है, और दो पूर्णांक m और n हैं। हमें लिस्ट को ट्रैवर्स करना है और कुछ नोड्स डिलीट करने हैं जैसे कि पहले m नोड्स लिस्ट में रखे जाएं और पहले m नोड्स के बाद अगले n नोड्स डिलीट कर दिए जाएं। हम इसे तब तक करते हैं जब तक लिंक्ड लिस्ट का अंत न आ