Leetcode: Linked List Cycle
Given a linked list, determine if it has a cycle in it.
Follow up:
Can you solve it without using extra space?
分析:如果一个linked list中有环,那么在用一个快指针和一个慢指针遍历该linked list时,这两个指针必会相交。代码如下:
class Solution { public: bool hasCycle(ListNode *head) { if(head == NULL || head->next == NULL) return false; ListNode *fast = head, *slow = head; while(slow->next && fast->next && fast->next->next){ fast = fast->next->next; slow = slow->next; if(fast == slow) return true; } return false; } };