题目描述
给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null.
ListNode* EntryNodeOfLoop(ListNode* pHead)
{
//链表为空,链表无环
while(pHead==NULL||pHead->next==NULL) return NULL;
ListNode*p1=pHead,*p2=pHead;
do{
p1=p1->next;
p2=p2->next->next;
}while(p1!=p2);
p2=pHead;
while(p1!=p2)
{
p1=p1->next;
p2=p2->next;
}
return p1;
}
{
//链表为空,链表无环
while(pHead==NULL||pHead->next==NULL) return NULL;
ListNode*p1=pHead,*p2=pHead;
do{
p1=p1->next;
p2=p2->next->next;
}while(p1!=p2);
p2=pHead;
while(p1!=p2)
{
p1=p1->next;
p2=p2->next;
}
return p1;
}