/*
struct ListNode {
int val;
struct ListNode *next;
ListNode(int x) :
val(x), next(NULL) {
}
};
*/
class Solution {
public:
ListNode* EntryNodeOfLoop(ListNode* head) {
if(head==nullptr || head->next==nullptr) return nullptr;
ListNode *slow=head,*fast=head;
while(fast && fast->next) {
fast=fast->next->next;
slow=slow->next;
if(slow==fast) break;
}
if(slow!=fast) return nullptr;
fast=head;
while(slow!=fast) {
slow=slow->next;
fast=fast->next;
}
return slow;
}
};
链表中环的入口结点 (C++牛客网)
最新推荐文章于 2024-09-15 11:40:06 发布