题目:
代码(首刷自解 2024年3月4日):
class Solution {
public:
bool hasCycle(ListNode *head) {
ListNode* fast = head;
ListNode* slow = head;
while (fast != nullptr && fast->next != nullptr) {
fast = fast->next->next;
slow = slow->next;
if (fast == slow)
return true;
}
return false;
}
};
代码(二刷自解 2024年7月30日)
class Solution {
public:
bool hasCycle(ListNode *head) {
unordered_set<ListNode*> us;
ListNode* cur = head;
while (cur) {
if (us.contains(cur)) {
return true;
}
us.insert(cur);
cur = cur->next;
}
return false;
}
};