题目描述:
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* p=head;
ListNode* q=head;
while(p!=NULL&&q!=NULL&&q->next!=NULL)
{
p=p->next;
q=q->next->next;
if(q==p) return true;
}
return false;
}
};