链表 - 快慢指针
视频精讲:链表 - 快慢指针
| 题目 | 代码 | 备注 |
|---|---|---|
| 876. 链表的中间结点 | 代码 | |
| 141. 环形链表 | 代码 | |
| 142. 环形链表 II | 代码 | |
| 143. 重排链表 | 代码 | |
| 234. 回文链表 | 代码 | *课后作业 |
例题
876.链表中间节点
- 快慢指针,找中间值,脑海里模拟一下就行
js
var middleNode = function(head) {
let fast = head,slow = head;
while(fast !== null && fast.next !== null){
fast = fast.next.next;
slow = slow.next
}
return slow;
};141.环形链表
js
var hasCycle = function (head) {
//快慢指针,模拟发现,必然会在环内相遇,判断相遇就行
let fast = head, slow = head;
while (fast && fast.next) {
fast = fast.next.next;
slow = slow.next;
if(fast === slow) return true
}
return false;
};142.环形链表二
- 在上一题的基础上,要找入口
- 脑海里模拟