java面试题(剑指Offer):找出该链表的环的入口结点
2017-08-31 16:04
417 查看
一个链表中包含环,请找出该链表的环的入口结点
class ListNode {
int val;
ListNode next = null;
ListNode(int val) {
this.val = val;
}
}
public class Solution {
public ListNode EntryNodeOfLoop(ListNode pHead)
{
if(pHead==null||pHead.next==null)return null;
ListNode p1=pHead;
ListNode p2=pHead;
while(p2!=null&&p2.next!=null)
{
p1=p1.next;
p2=p2.next.next;
if(p1==p2)
{
p1=pHead;
while(p1!=p2)
{
p1=p1.next;
p2=p2.next;
}
if(p1==p2)return p1;
}
}
return null;
}
}
class ListNode {
int val;
ListNode next = null;
ListNode(int val) {
this.val = val;
}
}
public class Solution {
public ListNode EntryNodeOfLoop(ListNode pHead)
{
if(pHead==null||pHead.next==null)return null;
ListNode p1=pHead;
ListNode p2=pHead;
while(p2!=null&&p2.next!=null)
{
p1=p1.next;
p2=p2.next.next;
if(p1==p2)
{
p1=pHead;
while(p1!=p2)
{
p1=p1.next;
p2=p2.next;
}
if(p1==p2)return p1;
}
}
return null;
}
}
相关文章推荐
- 剑指Offer面试题15(Java版):链表中倒数第K个结点
- 剑指offer面试题15(java版):链表中倒数第k个结点
- 剑指Offer 面试题23:链表中环的入口节点 Java代码实现
- (剑指Offer)面试题56:链表中环的入口结点
- 《剑指Offer》学习笔记--面试题56:链表中环的入口结点
- 剑指offer 面试题56 链表中环的入口结点
- 《剑指offer》编程题java实现(十九):链表中环的入口结点
- 剑指offer——面试题15:链表中倒数第k个结点
- 剑指offer——面试题15:链表中倒数第k个结点
- 【剑指offer——JAVA实现】链表中环的入口结点
- 《剑指offer》刷题笔记(链表):链表中环的入口结点
- 剑指Offer面试题15(Java版):链表中倒数第K个结点
- 面试题56 链表中环的入口结点
- 一个链表中包含环,请找出该链表的环的入口结点。
- 《剑指Offer》学习笔记--面试题37:两个链表的第一个公共结点
- 剑指Offer:面试题37 两个链表的第一个公共结点
- 剑指offer之面试题37:两个链表的第一个公共结点[LeetCode 160] 解题报告
- 剑指offer-链表中环的入口结点
- 剑指offer-面试题57-删除链表中重复的结点
- 剑指offer 面试题57 删除链表中重复的结点