每次做链表题的时候都要重新写写画画,奇怪的命名 + 混乱的操作,基本上是今天写了明天就看不懂写的啥,于是有了这篇总结。持续更新……
链表反转
当前节点叫
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