- 环形链表
- 快指针速度为2
- 慢指针速度为1
- 假设有环,快指针先相遇慢指针。
- 所以相遇就有环,不相遇必见空。
/**
* Definition for singly-linked list.
* class ListNode {
* int val;
* ListNode next;
* ListNode(int x) {
* val = x;
* next = null;
* }
* }
*/
public class Solution {
public boolean hasCycle(ListNode head) {
ListNode head2=head;
ListNode head3=head;
while(head3!=null&&head2!=null){
if(head2.next==null||head3.next==null)break;
//快指针
head2=head2.next.next;
if(head3==head2){
return true;
}
//慢指针
head3=head3.next;
}
return false;
}
}