lurenaa的博客

🚌双指针实现

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
class Solution {
public:
bool hasCycle(ListNode *head) {
ListNode* slow_ptr = head,
*quick_ptr = head;
if(!head)
return false;
while(1) {
quick_ptr = quick_ptr->next;
if(!quick_ptr)
return false;
else if(quick_ptr == slow_ptr)
return true;
quick_ptr = quick_ptr->next;
if(!quick_ptr)
return false;
else if(quick_ptr == slow_ptr)
return true;
slow_ptr = slow_ptr->next;
}
return true;
}
};

Accepted

17/17 cases passed (12 ms)

Your runtime beats 83.52 % of cpp submissions

Your memory usage beats 19.93 % of cpp submissions (10 MB)