Linked List Cycle
时间:2015-04-07 15:05:44
收藏:0
阅读:104
给定一个链表,判断是否存在环
思路:龟兔赛跑,一个指针兔跑得快,一个指针龟跑得慢,如果有环兔子一定会遇到乌龟(fast == slow),如果没有环兔子一定能到达终点(fast == null)
class Solution {
public:
bool hasCycle(ListNode *head) {
if (head)
{
ListNode* fast = head;
ListNode* slow = head;
while (fast->next != NULL)
{
slow = slow->next;
fast = fast->next->next;
if (fast == NULL )
{
return false;
}
if (fast == slow)
{
return true;
}
}
}
return false;
}
};
评论(0)