In-place solution using classic Two Pointer method (Tortoise and Hare algorithm)


  • 0
    W
    public class Solution {
        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;
        }
    }

Log in to reply
 

Looks like your connection to LeetCode Discuss was lost, please wait while we try to reconnect.