环的入口结点
题目描述:
解题思路:
代码如下所示:
class Solution {
public:
ListNode
*detectCycle(ListNode
*head
)
{
ListNode
*fast
=head
;
ListNode
*slow
=head
;
ListNode
*PH
=head
;
ListNode
*PM
=nullptr;
while(fast
&&fast
->next
)
{
fast
=fast
->next
->next
;
slow
=slow
->next
;
if(slow
==fast
)
{
PM
=fast
;
break;
}
}
if(PM
==nullptr)
return nullptr;
PM
=slow
;
while(PM
!=PH
)
{
PM
=PM
->next
;
PH
=PH
->next
;
}
return PM
;
}
};
测试用例
功能测试:链表中有环,链表中有多个或者多个结点特殊输入测试:链表头结点为nullptr
转载请注明原文地址:https://ipadbbs.8miu.com/read-16855.html