#include <stdbool.h> /** * struct ListNode { * int val; * struct ListNode *next; * }; */ /** * * @param head ListNode类 * @return bool布尔型 */ bool hasCycle(struct ListNode* head ) { // write code here if((head==NULL)||(head->next==NULL)){ return false; } struct ListNode *fast=head; struct ListNode *slow=head; while(1){ fast=fast->next; fast=fast->next; slow=slow->next; if(fast==slow){ return true; } if((fast==NULL)||(fast->next==NULL)){ return false; } } }
快慢指针判断