[LeetCode] NO. 141 Linked List Cycle

[题目] 

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

[题目解析] 判断一个单链表中是否含有环,这是一个非常常见的面试题目。思路也非常简单,可以定义两个指针,一个快,一个慢,最后慢的追上快的,指向同一个节点,说明有环。

   public boolean hasCycle(ListNode head) {
        ListNode p = head;
        ListNode q = head;
        while(null != p && null != q){
            p = p.next;
            q = q.next;
            if(null != q){
                q = q.next;
            }
            if(null != p && p == q){
                return true;
            }
        }
        return false;
    }

  

posted @ 2016-10-11 23:02  三刀  阅读(168)  评论(0编辑  收藏  举报