Day4 | Part2
约 243 个字 101 行代码 3 张图片 预计阅读时间 2 分钟
24. 两两交换链表中的节点
两两交换其中相邻的节点,并返回交换后链表的头节点
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|
19.删除链表的倒数第N个节点
双指针,fast先移动n步,然后fast和low同时走,fast到结尾,此时slow指向要删除节点的前一个
1 2 3 4 5 6 7 8 9 10 11 12 |
|
1 2 3 4 5 6 7 8 |
|
160.链表相交
很巧妙的方法: 一个从A走,一个从B走,谁先走到空,再绕到另一个开头走
- 定会相交的起始节点碰面(即\(a + c + b = b + c + a\))
1 2 3 4 5 6 7 8 9 10 |
|
1 2 3 4 5 6 7 8 |
|
142.环形链表II
Q: 如何判断有环? 判断出了如何找环的入口?
- 快慢指针: 快的每次走两个,慢的走一个,若相遇则存在环
- 找入口 → 动图参考, 太妙了!!
- 头结点出发一个指针,相遇节点也出发一个指针,每次均只走一个节点,当两指针相遇即环形入口的节点
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
|
1 2 3 4 5 6 7 8 9 10 11 12 |
|