
解题图解:



代码如下:
- bool hasCycle(struct ListNode *head) {
- struct ListNode * fast=head;
- //在这里fast是快指针
- //head作为low指针
- //因为这个题不需要做修改也只需返回true或false
- //就少开辟一个空间
- while(fast!=NULL&&fast->next!=NULL){
- head=head->next;
- fast=fast->next->next;
- //fast每次前进两个节点
- //head每次前进一个
- if(head==fast){
- return true;
- }
- }
- return false;
- }