首页 > 代码库 > [Leetcode] Linked List Cycle

[Leetcode] Linked List Cycle

Given a linked list, determine if it has a cycle in it.

Follow up:
Can you solve it without using extra space?

 

Solution:

快慢指针。

 1 /** 2  * Definition for singly-linked list. 3  * class ListNode { 4  *     int val; 5  *     ListNode next; 6  *     ListNode(int x) { 7  *         val = x; 8  *         next = null; 9  *     }10  * }11  */12 public class Solution {13     public boolean hasCycle(ListNode head) {14         if(head==null||head.next==null)15             return false;16         ListNode fast=head;17         ListNode slow=head;18         while(fast!=null&&fast.next!=null){19             fast=fast.next.next;20             slow=slow.next;21             if(fast==slow)22                 return true;23         }24         return false;25     }26 }

 

[Leetcode] Linked List Cycle