使用哈希表记录出现过的节点
ListNode* EntryNodeOfLoop(ListNode* pHead)
{
if (pHead==NULL)
{
return NULL;
}
set<ListNode*> my_set;
//hash_set<ListNode*> my_set;
ListNode * curnode(pHead);
while (1)
{
if (my_set.find(curnode)!=my_set.end())
{
return curnode;
}
my_set.insert(curnode);
if (curnode == NULL)
{
return NULL;
}
curnode = curnode->next;
}
}