为什么长度(self.next)不是python中的有效表达式?

时间:2018-04-02 15:55:45

标签: python python-3.x algorithm data-structures linked-list

我在python中定义了一个类严格限制自己单链表的固有属性

class Node: def __init__(self, v = None): self.value = v self.next = None return ## A function to determine the length of the linked list: def length(self): if self.value == None: return(0) elif self.next == None: return(1) else: return(1+length(self.next)) 是指向下一个元素的指针。

完整的课程:

1+length(self.next)

为什么表达式1+self.next.length()无效?为什么我必须使用public static function transaction($closure)

1 个答案:

答案 0 :(得分:0)

什么是lengthlength不存在,但Node.length确实存在。

return(1+length(self.next))不起作用的原因是因为您拨打的是length(),而不是Node.length()

相反,试试这个:

return(1+LinkedList.length(self.next))

或者这个(我的偏好):

return(1+self.next.length())