码迷,mamicode.com
首页 > 其他好文 > 详细

LeetCode:Linked List Cycle

时间:2014-11-11 16:40:35      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:algorithm   leetcode   

题目描述:

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

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

思路:初始化一个快指针fast,一个慢指针slow。快指针一次移动两个单位,慢指针一次移动一个单位。如果链表有环,则两指针必然会相遇。否则若fast指针遍历到NULL,则证明链表无环。


代码:

 bool hasCycle(ListNode *head) {
    ListNode * fast = head;
    ListNode * slow = head;
    while(fast != NULL && fast->next != NULL)
    {
        fast = fast->next->next;
        slow = slow->next;
        if(fast == slow)
            break;
    }
    if(fast == NULL || fast->next == NULL)
        return false;
    else
        return true;
    }
};


LeetCode:Linked List Cycle

标签:algorithm   leetcode   

原文地址:http://blog.csdn.net/yao_wust/article/details/41011719

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!