题目
中文
https://leetcode-cn.com/problems/linked-list-cycle/
英文
题解
第一次
个人
一文解决链表所以问题
9种方式解决该题
想不太到。。。直接往下传递太过于复杂。
暴力:遍历 用哈希表存进去看之前是否走过 来判断。
题解
快慢指针(双指针):快指针走2步,慢指针走1步,如果有环则必定会相遇。
bool hasCycle(struct ListNode *head)
{
if (head == NULL)
return false;
struct ListNode *fast = head;
struct ListNode *slow = head;
while (fast != NULL && fast->next != NULL)
{
fast = fast->next->next;
slow = slow->next;
if (fast == slow)
return true;
}
return false;
}