Problem Description:
Given a linked list, determine if it has a cycle in it.
Follow up:
Can you solve it without using extra space?
Solution:
1 public boolean hasCycle(ListNode head) { 2 if (head == null) return false; 3 if (head.next == null || head.next.next == null) return false; 4 ListNode tortoise = head.next; 5 ListNode hare = head.next.next; 6 while (tortoise != hare) { 7 if (tortoise.next == null) return false; 8 tortoise = tortoise.next; 9 if (hare.next == null || hare.next.next == null) return false; 10 hare = hare.next.next; 11 } 12 13 return true; 14 }
Problem Linked List Cycle
时间: 2024-11-08 21:35:16