两步利用快慢指针判断是否存在环——如果快指针最后指向NULL,则不存在环,如果快慢指针相遇则存在环。
代码如下:
// // Created by jt on 2020/9/23. // class Solution { public: bool hasCycle(ListNode *head) { if(!head) return false; ListNode *fast = head, *slow = head; while(fast && fast->next) { fast = fast->next->next; slow = slow->next; if (fast == slow) return true; } return false; } };