Given a linked list, determine if it has a cycle in it.
Follow up:
Can you solve it without using extra space?
/** * 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 slow=head; ListNode fast=head; boolean flag=false; while(fast!=null && fast.next!=null){ slow=slow.next; fast=fast.next.next; if(fast==null) break; if(fast==slow) { flag=true; break; } } return flag; } }思路:快行指针。
Linked List Cycle,布布扣,bubuko.com
原文地址:http://blog.csdn.net/dutsoft/article/details/37737837