bool hasCycle(struct ListNode *head) {
//经典题:用快慢指针的追赶来判断
struct ListNode * slow = head, *fast = head;
while(fast && fast->next)
{
slow = slow->next;
fast = fast->next->next;
if(slow == fast)
return true;
}
return false;
}
//问题:
//1、slow每次走1步,fast每次走2步,slow和fast一定会在环内相遇吗?
//一定能相遇。
//2、fast一次走3步、4步...也能相遇吗?
//不一定能相遇了



