Given a linked list, determine if it has a cycle in it.
Follow up:
Can you solve it without using extra space?
//Time: O(n), Space: O(1) public boolean hasCycle(ListNode head) { if (head == null) { return false; } ListNode slow = head; ListNode fast = head; while (fast != null && fast.next != null) { slow = slow.next; fast = fast.next.next; if (slow == fast) { return true; } } return false; }