【发布时间】:2020-03-02 02:15:45
【问题描述】:
我有以下用于列表节点的类:
def __init__(self, x):
self.val = x
self.next = None
如果我初始化列表 l 和 r 如下:
l = ListNode(1)
l.next = ListNode(4)
l.next.next = ListNode(5)
r = ListNode(1)
r.next = ListNode(3)
r.next.next = ListNode(4)
# l: 1->4->5
# r: 1->3->4
虚拟/当前节点为
dummy = cur = ListNode(0)
# cur = 0
# dummy = 0
当我设置时
cur.next = l
# cur = 0->1->4->5
# dummy = 0->1->4->5
两个列表都将l 放在第二个节点位置,但是当我设置时
cur = cur.next
# cur = 1->4->5
# dummy = 0->1->4->5
只有cur 列表会丢失第一个节点。然后当我设置
cur.next = r
# cur = 1->1->3->4
# dummy = 0->1->1->3->4
cur 列表将r 列表附加在第二个位置,但dummy 列表将它附加在第三个位置。我认为dummy 看起来像0->1->3->4
我认为这是我在 python 中的指针或一般链表中缺少的东西。任何解释将不胜感激!
【问题讨论】:
标签: python pointers linked-list