所以我一直在尝试解决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构造函数中next和val的顺序。