时间轴

2025-11-19

init


题目:

双指针,快慢指针

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
struct ListNode {
int val;
ListNode *next;
ListNode(int x)
: val(x)
, next(nullptr)
{
}
};

class Solution {
public:
bool hasCycle(ListNode *head)
{
ListNode *low = head, *fast = head;
do {
if (low == nullptr || low->next == nullptr) {
return false;
} else {
low = low->next;
}
if (fast == nullptr || fast->next == nullptr || fast->next->next == nullptr) {
return false;
} else {
fast = fast->next->next;
}

} while (low != fast);

if (low != nullptr) {
return true;
}
return false;
}
};