您的位置:首页 > 其它

141. Linked List Cycle

2016-11-26 21:01 183 查看
Given a linked list, determine if it has a cycle in it.

Follow up:

Can you solve it without using extra space?

这道题用两个指针指向表头,一个每次走一步,一个每次走两步,如果这个链表有环的话,那么快的指针会赶上慢的指针。

程序要防止指针为空的情况。

class Solution {
public:
bool hasCycle(ListNode *head)
{
ListNode *slow=head;
ListNode *fast=head;
while(slow&&fast&&fast->next!=NULL)
{
slow=slow->next;
fast=fast->next->next;
if(slow==fast)
return true;
}
return false;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  链表