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