每次做链表题的时候都要重新写写画画,奇怪的命名 + 混乱的操作,基本上是今天写了明天就看不懂写的啥,于是有了这篇总结。持续更新……
链表反转
当前节点叫 cur
:
- 防止下个节点丢失,先保存
next
节点 - 放心将
cur.next
指向prev
节点 - 在
cur
移走之前,更新prev
为cur
- 移动
cur
到next
while (cur) {
nextNode = cur.next;
cur.next = prev;
prev = cur;
cur = nextNode;
}
链表合并(lc 143)
- 保存
head1
和head2
的next
,分别为next1
和next2
- 放心将
head1.next
指向head2
- 移动
head1
到next1
(这样就不用让head2
指向next1
) - 放心将
head2.next
指向head1
- 移动
head2
到next2