思路:双指针法,设置快慢双指针。假如有环,快指针一定会和慢指针相遇。假如无环,快指针一定首先到达链表尾部。
bool hasCycle(ListNode *head) {
ListNode *slow = head;
ListNode *fast = head;
while(fast !=NULL){
slow = slow->next;
if(fast->next)
fast = fast->next->next;
else
return false;
if(slow==fast)
return true;
}
return false;
}