LeetCode 专题灵神算法
链表 - 快慢指针
视频精讲:链表 - 快慢指针
例题
876.链表中间节点
- 快慢指针,找中间值,脑海里模拟一下就行
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.环形链表
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.环形链表二
- 在上一题的基础上,要找入口
- 脑海里模拟