面试题56 链表中环的入口结点
2016-04-10 19:05
309 查看
题目描述
一个链表中包含环,请找出该链表的环的入口结点。/* struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { } }; */ class Solution { public: ListNode* EntryNodeOfLoop(ListNode* pHead) { if (!pHead || !pHead->next) return NULL; ListNode *p = pHead; ListNode *q = pHead; while(p != NULL && q->next != NULL ){ p = p->next; q = q->next->next; if(p == q){ q = pHead; while(p != q){ p = p->next; q = q->next; } if(p == q) return p; } } return NULL; } };
相关文章推荐
- 程序员常识
- 面试题55 字符流中第一个不重复的字符
- 面试题54 表示数值的字符串
- 【总结】PHP常见面试题汇总(四)。。。
- 面试题3-二维数组的查找
- 如何回答「未来5年如何规划?」【面试核心问题8】
- 每个程序员都会犯的十个错误
- 京东2016笔试题
- 分享一些互联网公司j2ee面试题
- 如何回答「为什么想来我们公司」【面试核心问题2】
- 面试题50 树中两个结点的最低公共祖先
- 程序员三年一跳,为什么越跳越好?
- 面试常见问题链接
- 一个合格的程序员应该读过哪些书
- 从校招时间谈大学求职准备
- 程序员修炼之道-书评
- 多线程中的状态转换以及常见的面试题
- 决胜九月:mysql面试必会基础(四)
- 华为实习面试总结
- what i will be关于职业的思考