首页 > 其他 > 详细

55.链表中环的入口结点

时间:2019-01-15 15:04:33      阅读:132      评论:0      收藏:0      [点我收藏+]

题目描述

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

题目解答

/*
 public 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 pFast=pHead;
        ListNode pSlow=pHead;
        while(pFast!=null && pFast.next!=null) {
            pSlow = pSlow.next;
            pFast = pFast.next.next;
            if(pSlow==pFast){
                pFast=pHead;
                while(pFast!=pSlow){
                    pFast=pFast.next;
                    pSlow=pSlow.next;
                }
                if(pFast==pSlow){
                    return pSlow;
                }
            }
        }
        return null;
    }
}

快慢指针

 

55.链表中环的入口结点

原文:https://www.cnblogs.com/chanaichao/p/10260159.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!