Skip to content

环形链表

LeetCode-141

js
var hasCycle = function(head) {
  let slow = head // 快指针
  let fast = head // 慢指针
  // 判断fast是否有下一个节点
  while(fast && fast.next) {
    slow = slow.next // 慢指针走一步
    fast = fast.next.next // 快指针走两步
    if(slow === fast) return true // 最终相遇(相等),返回true
  }
  return false // 退出循环,说明无环
}