'int'对象没有属性'next'



所以我一直在尝试解决leetcode中的一个问题,那就是设计一个链表。以下是我尝试过的:

class Node:
def __init__(self,next=None,val=None):
self.next = next
self.val = val
class Linked_list(object):
def __init__(self):
self.head = None
self.length = 0
def insertAtEnd(self, val):
new_node = Node(val)
if self.head is None:
self.head = new_node
else:
itr = self.head
while itr.next:     #Error
itr = itr.next
itr.next = new_node
self.length += 1

因此,在insertAtEnd方法中,当我尝试迭代列表时,它显示了self.head是int对象的错误。我很难在这里找到答案。所以请帮帮我。非常感谢。

您的代码很好,但我在中发现了一个错误

new_node = Node(val)

但构造函数看起来:

def __init__(self,next=None,val=None):
self.next = next
self.val = val

因此,您将val传递给next参数,self.head.next指向val,即int。可能你是

new_node = Node(val=val)

或者,更改Node构造函数中nextval的顺序。

最新更新