def len_link(lst):
"""Returns the length of the link.
>>> lst = link(1, link(2, link(3, link(4))))
>>> len_link(lst)
4
>>> len_link(empty)
0
"""
您好我很难理解如何找到链接列表的长度,如果有人可以帮助我会非常感激。
答案 0 :(得分:2)
您也可以使用:
def len_link(list):
temp=list.head
count=0
while(temp):
count+=1
temp=temp.next
return count
答案 1 :(得分:0)
如"Functional linked lists in Python"中所述:
length操作返回给定列表中的元素数。 要查找列表的长度,我们需要扫描其所有n个元素。 因此,该操作的时间复杂度为O(n)。
def length(xs): if is_empty(xs): return 0 else: return 1 + length(tail(xs)) assert length(lst(1, 2, 3, 4)) == 4 assert length(Nil) == 0
头部和尾部分别是:
def head(xs): return xs[0] assert head(lst(1, 2, 3)) == 1 def tail(xs): return xs[1] assert tail(lst(1, 2, 3, 4)) == lst(2, 3, 4)
答案 2 :(得分:0)
尝试一下:
def lengthRecursive(head):
if head is None:
return 0
else:
return 1 + lengthRecursive(head.next)