#include <stdbool.h> /** * struct ListNode { * int val; * struct ListNode *next; * }; */ /** * * @param head ListNode类 * @return bool布尔型 */ typedef struct ListNode ListNode; bool hasCycle(struct ListNode* head ) { if(head==NULL||head->next==NULL){ return false; } // write code here //快慢指针 //快指针走两步,慢指针走1步,如果快指针等于慢指针则就是为环 ListNode* slow=head; ListNode* fast=head->next; while(slow!=fast){ if(fast==NULL||fast->next==NULL){ return false; } slow=slow->next; fast=fast->next->next; } return true; }