2019-09-09[剑指offer-]链表中环的入口节点

2019-11-15  本文已影响0人  Coding破耳

题目描述

给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。

/*
struct ListNode {
    int val;
    struct ListNode *next;
    ListNode(int x) :
        val(x), next(NULL) {
    }
};
*/
class Solution {
public:
    ListNode* EntryNodeOfLoop(ListNode* pHead)
    {
        if(pHead == NULL || pHead->next == NULL)
        {
            return NULL;
        }
        
        list<ListNode*> lst;
        lst.push_back(pHead);
        ListNode* pNext = pHead->next;
        while(pNext)
        {
            if(find(lst.begin(),lst.end(),pNext) != lst.end())
            {
                return pNext;
            }
            else
            {
                lst.push_back(pNext);
                pNext = pNext->next;
            }
        }
        
        return NULL;
    }
};
上一篇下一篇

猜你喜欢

热点阅读