您的位置:首页 > 其它

leetcode--Linked List Cycle

2017-08-08 12:45 302 查看
Given a linked list, determine if it has a cycle in it.

Follow up:

Can you solve it without using extra space?

[java] view
plain copy

/** 

 * 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) {  

        if(head==null) return false;          

        ListNode slow = head.next;  

        ListNode fast = null;  

        if(slow==null) return false;  

        else fast = slow.next;  

          

        while(slow!=null&&fast!=null){  

            if(slow==fast) return true;  

            else{  

                slow = slow.next;  

                if(fast.next!=null) fast = fast.next.next;  

                else return false;  

            }  

        }  

        return false;  

    }  



原文链接http://blog.csdn.net/crazy__chen/article/details/46563843
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: