先贴代码
class Solution {
public:
bool hasCycle(ListNode *head) {
bool flag=false;
ListNode * p;
ListNode * q;
if(head==NULL)
return false;
if(head->next==NULL)
return false;
p=head;
q=head;
while(p!=NULL&&p->next!=NULL)
{
q=q->next;
p=p->next->next;
if(p==q)
return true;
}
return false;
}
};
这个代码太漂亮了! 竟然没想到!
链表问题看起来挺简单的,但是还是有很多细节问题需要注意
头结点head =NULL 和 head->next=NULL 需要单独拎出来