/**
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*/
/**
*
* @param head ListNode类
* @return bool布尔型
*/
bool hasCycle(struct ListNode* head ) {
struct ListNode * p1,*p2=head,*p3;
if(head==NULL||head->next==NULL||head->next->next==NULL)
return false;
else {
for(p1=head;p1!=NULL;p1=p1->next)
{
if(p2->next==NULL)
break;
p2=p2->next->next;
if(p1==p2)
return true;
if(p2==NULL)
break;
}
return false;
}
return false;
// write code here
}

京公网安备 11010502036488号