一、题目描述
题目地址
视频讲解
git代码
给定一个链表,判断链表中是否有环。
如果链表中存在环,则返回 true 。 否则,返回false。
二、解题思路
思路可以去看我的视频讲解
- 快慢指针
- 快指针步长为2,慢指针步长为1
- 如果快指针到达尾节点两者未相遇,则无环,否则有环
三、具体代码
var hasCycle = function(head) {
let fast = head;
let slow = head;
while(fast && fast.next) {
fast = fast.next.next;
slow = slow.next;
if(fast === slow) {
return true;
}
}
return false;
};