拆分链表:
class ListNode(object):
def __init__(self, x):
self.val = x
self.next = None
mid = # find the middle node of linked list
l1 = head
l2 = mid.next
mid.next = None
这个时候 l1 指向链表前半部分,l2 指向链表后半部分,并且链表已经断开为两条。还是比较容易理解。
被问“可是 mid.next 之前指向的是后半部分链表,为什么把它设置为 None 不会影响后半部分链表,为什么 l2 不会变成 None ?“
要把这里的全理解成指针,l2 指向的这个 node 带着所有后半部分链表,而 mid.next 也是指针,它们是存在不同位置的指针,l2 是我们新开辟的位置,但一开始 l2 和 mid.next 指向的是同一个 node,我们更改 mid.next 的指向并不会影响 l2 的指向。
大佬们还有什么建议的好的解释么?

