题目

双指针,一个走得快一个走得慢。如果是环形链表一定能相遇。

var hasCycle = function(head) {
    let quike = head;
    let slow = head;
    while(quike){
      if(quike.next===null)return false;
      quike = quike.next.next;
      slow = slow.next;
      if(quike===slow)return true;
    }
    return false;
};

Set

var hasCycle = function(head) {
    let set = new Set(), cur = head;
    while(cur){
      let temp = set.has(cur);
      if(!temp){
        set.add(cur);
        cur = cur.next;
      }else{
        return true;
      }
    }
    return false;
};