题解 | #链表中环的入口结点#

链表中环的入口结点

http://www.nowcoder.com/practice/253d2c59ec3e4bc68da16833f79a38e4

    this.val = x;
    this.next = null;
}*/
function EntryNodeOfLoop(pHead)
{
    // write code here
    //初始化:快指针fast指向头结点,慢指针slow指向头结点;
    //让fast一次走两步,slow一次走一步,第一次相遇处,停止;
    //然后让fast指向头结点,slow原地不动,让fast,slow每次走一步,当再次相遇,就是入口结点
    let fast = pHead,slow = pHead
    while(fast && fast.next){
        fast = fast.next.next
        slow = slow.next
        if(fast === slow){
            let fast1 = pHead
            while(fast1 !== slow){
                fast1 = fast1.next
                slow = slow.next
            }
            return fast1
        }
    }
    return null
}
module.exports = {
    EntryNodeOfLoop : EntryNodeOfLoop
};

alt

全部评论

相关推荐

不愿透露姓名的神秘牛友
昨天 14:08
点赞 评论 收藏
分享
牛客84809583...:举报了
点赞 评论 收藏
分享
06-02 15:53
阳光学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务