用JavaScript刷leetcode第141题-链表是否有环

654 阅读1分钟

一、题目描述

题目地址
视频讲解
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;
  };