题解 | #链表中环的入口结点#
链表中环的入口结点
http://www.nowcoder.com/practice/253d2c59ec3e4bc68da16833f79a38e4
//我们可以在M6的基础上进行改写,map中int型的默认值为0,故当我们遍历到一个键的时候,我们将该键值+1,并在循环中同时判断,当某个键的值大于等于2时,表示该键所对应的指针为入口指针
class Solution {
public:
ListNode* EntryNodeOfLoop(ListNode* pHead) {
map<ListNode*,int> mp;
while(pHead)
{
if(mp[pHead]>1)
{
return pHead;
}
mp[pHead]+=1;
pHead=pHead->next;
}
return nullptr;
}
};