【leetCode】判断链表中是否有环
作者:互联网
【题目】
给出一个链表,判断链表中是否存在环
【解题思路】
双指针,指针p前进一步,指针q前进两步,当没有环存在时,q会先一步到达null,当有环存在时,pq会相遇,while的判断条件只需要判断q,因为p是慢指针,走的节点q都已经走过了
【解题代码】
function hasCycle( head ) {
// 双指针
let p = head
let q = head
let flag = false
while (q !== null && q.next !== null) {
p = p.next // 指针1,每次前进一步
q = q.next.next // 指针2,每次前进两步
if (p === q) {
flag = true
break
}
}
return flag
}
标签:head,next,链表,flag,有环,null,leetCode,指针 来源: https://blog.csdn.net/moekosu/article/details/119109820