题目: 141-环形链表
bool hasCycle(ListNode *head) {
if (head == nullptr || head->next == nullptr) {
return false;
}
// 快慢指针: 初始为相同节点
ListNode *slow = head;
ListNode *fast = head;
// 判断快指针是否为空即可
while (fast != nullptr && fast->next != nullptr) {
// 先移动快慢指针
slow = slow->next;
fast = fast->next->next;
// 再判断是否相等
if (slow == fast) {
return true;
}
}
return false;
}





Loading Comments...