leetcode-141. 环形链表

本文最后更新于:2022年8月1日 晚上

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class Solution {
public:
bool hasCycle(ListNode *head) {
// 快慢指针, 双指针
// fast 走2步,slow走1步,2指针相遇说明有环

ListNode* fast = head;
ListNode* slow = head;

while (fast != NULL && fast->next != NULL)
{
// fast 走2步, slow 走1步
fast = fast->next->next; // 注意:fast->next 不能为 NULL, 否则会报空指针错误
slow = slow->next;

if (fast == slow) // 直接比较 指针是否相等,不用比较 fast->val == slow->val了
return true;
}
return false;
}
};

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!