LeetCode 第141题 环形链表

(一)题目描述

  给定一个链表,判断链表中是否有环。

 

(二)算法思路

  1 我们遍历所有的节点,并哈希表中存储每个节点的引用.

  2 如果当前节点为空,即我们已经遍历到了链表尾部的下一个节点.   return false

  3 不为空即是环形链表, return true

 

(三)LeetCode AC代码

public class Solution {
    public boolean hasCycle(ListNode head) {
        Set<ListNode> nodesSeen = new HashSet<>();
        while(head != null){
            if(nodesSeen.contains(head)){
                return true;
            }else{
                nodesSeen.add(head);
            }
            head = head.next;
        }
        return false;
    }
}

 

 

(四)LeetCode  快慢指针  空间复杂度O(1)  只使用了两个额外的空间

 

 

 

 


 

 

      如果有梦想就去捍卫它,就这样.

 

posted @ 2018-11-16 08:46  朝才  阅读(156)  评论(0编辑  收藏  举报