链接列表:AttributeError:'int'对象没有属性'next'

问题描述 投票:0回答:1
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 属性的链表中的节点了吗?

python python-3.x data-structures linked-list attributeerror
1个回答
0
投票
Curr.next = i 

意味着您正在尝试将整数值作为节点推送。这就像一个应该指向房子的地址却指向一个人。

© www.soinside.com 2019 - 2024. All rights reserved.