【发布时间】:2020-09-15 21:13:04
【问题描述】:
我有一个关于突变如何在具有绑定分配的链表中工作的问题。
假设我们在python中有如下链表数据类型:
class ListNode:
def __init__(self, val=0, next=None):
self.val = val
self.next = next
假设我们有一个对象a 并将curr 绑定到a:
a = ListNode(1, ListNode(2))
curr = a
两者都是 1 -> 2 ->。现在如果我尝试改变curr:
curr.next = ListNode(3)
curr = curr.next
现在a 是 1 -> 3 -> 而 curr 是 3 ->。
这是我感到困惑的部分。如果我继续通过以下方式更新curr:
curr.next = ListNode(4)
curr = curr.next
现在a 是 1 -> 3 -> 4 -> 而 curr 是 4 ->。
我想知道为什么a会以这种方式更新?
【问题讨论】:
-
您为什么希望
a不会受到影响? -
你想得到什么?
标签: python linked-list