- 题目:给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。
- 思路:
- 一直遍历链表,直到碰到一个之前出现过的节点,就是环的入口节点
- 代码:
/* struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { } }; */ class Solution { public: map<ListNode*,int> mark; ListNode* EntryNodeOfLoop(ListNode* pHead) { map<ListNode*, int>::iterator it; while (pHead) { it = mark.find(pHead); if (it==mark.end()) { mark.insert(make_pair(pHead, 1)); } else { return pHead; } pHead = pHead -> next; } return NULL; } };
剑指offer 58. 链表中环的入口结点
最新推荐文章于 2022-10-12 11:26:08 发布