码迷,mamicode.com
首页 > 其他好文 > 详细

55.链表中环的入口结点

时间:2019-01-15 15:49:32      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:指针   head   fast   this   ==   his   turn   val   loop   

题目描述

给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出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.链表中环的入口结点

标签:指针   head   fast   this   ==   his   turn   val   loop   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!