美文网首页
141. Linked List Cycle

141. Linked List Cycle

作者: 苏州城外无故人 | 来源:发表于2019-03-18 16:48 被阅读0次
image.png
 //hashtable
    //Time complexity O(n)
    //Space complexityO(n)

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

    /**
     * Time complexity O(n)
     * Space complexityO(1)
     * @param head
     * @return
     */

   public boolean hasCycle(ListNode head) {
        if (head == null || head.next == null) {
            return false;
        }
        ListNode slow = head;
        ListNode fast = head.next;
        while (slow != fast) {
            if (fast == null || fast.next == null) {
                return false;
            }
            slow = slow.next;
            fast = fast.next.next;
        }
        return true;
    }
    }

相关文章

网友评论

      本文标题:141. Linked List Cycle

      本文链接:https://www.haomeiwen.com/subject/uldbmqtx.html