मान लीजिए कि हमारे पास एक एकल लिंक की गई सूची है, हमें इसकी लंबाई ज्ञात करनी है। लिंक की गई सूची में अगले और वैल फ़ील्ड हैं।
इसलिए, यदि इनपुट [2 -> 4 -> 5 -> 7 -> 8 -> 9 -> 3] जैसा है, तो आउटपुट 7 होगा।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- गिनती :=0
- जबकि नोड शून्य नहीं है, करें
- गिनती :=गिनती + 1
- नोड:=नोड के बगल में
- वापसी की संख्या
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
उदाहरण
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