단일 연결 목록이 있다고 가정하고 길이를 찾아야 합니다. 연결 목록에는 next 및 val 필드가 있습니다.
따라서 입력이 [2 -> 4 -> 5 -> 7 -> 8 -> 9 -> 3]과 같으면 출력은 7이 됩니다.
이 문제를 해결하기 위해 다음 단계를 따릅니다. −
- 카운트:=0
- 노드가 null이 아닌 동안 do
- 카운트 :=카운트 + 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