class ListNode:
def __init__(self, val=0, next=None) -> None:
self.val = val
self.next = next
def list_link(nums):
dummy = ListNode()
curr = dummy
for i in nums:
curr.next = ListNode(i) #line6
curr = curr.next
我是 DSA 新手。在这个将列表转换为链接列表的代码片段中,如果我在第 6 行将代码更改为此代码,为什么会出现以下错误
class ListNode:
def __init__(self, val=0, next=None) -> None:
self.val = val
self.next = next
def list_link(nums):
dummy = ListNode()
curr = dummy
for i in nums:
curr.next = i #line6
curr = curr.next
我得到的错误是: AttributeError: 'int' object has no attribute 'next'
我想知道这个错误背后的原因。
为什么我不能直接将整数值赋给“curr”。
“curr”不是已经是具有 val 和 next 属性的链表中的节点了吗?
Curr.next = i
意味着您正在尝试将整数值作为节点推送。这就像一个应该指向房子的地址却指向一个人。