/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */ bool hasCycle(struct ListNode *head) { struct ListNode *fast=head, *slow=head; while( slow && fast && fast->next ){ fast=fast->next->next; slow=slow->next; if(fast==slow) return true; } return false; }