我对于列表节点具有以下类:
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中的指针或一般而言链表缺少的东西。任何解释将不胜感激!