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

链表中环的入口结点

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

/*function ListNode(x){
    this.val = x;
    this.next = null;
}*/
function EntryNodeOfLoop(pHead)
{
    if(pHead.next === null || pHead.next.next === null) {
        return null
    }
    
    // write code here
    let p1 = pHead
    let p2 = pHead
    let p3 = pHead
    let p4 = pHead
    let getSize = true
    let size = 0
    //获取环的长度
    while (getSize) {
        p1 = p1.next
        if(p2.next.next === null) {
            return null
        }
        p2 = p2.next.next
        if(p1 === p2) {
            const tem = p1
            while (getSize) {
                p1 = p1.next
                size ++
                if (p1 === tem) {
                    getSize = false
                }
            }
        }
        
    }
    console.log(1)
    if (getSize) {
        return null
    }
    let sum = 0
    let length = 0
    while (p3) {
        if(p3.flag) {
            length = sum-size
            break
        }
        sum++
        p3.flag = true
        p3 = p3.next
    }
    while (p4) {
        if(!length) {
            return p4
        }
        length--
        p4 = p4.next
    }
}
module.exports = {
    EntryNodeOfLoop : EntryNodeOfLoop
};

全部评论

相关推荐

点赞 评论 收藏
分享
牛客40297450...:不是研究生强,是你强
点赞 评论 收藏
分享
DKS233:项目写太简单了,你用什么技术实现了什么功能,优化了多少,分了哪些模块,解决了哪些难点,最好分模块写,你写的太模糊了。精通还是少用吧,你确定问你底层你扛的住吗,最好用熟悉。具备良好**意识,这种空话不要写,技能层面,要写就写实在的,比如“熟悉常用数据结构,如,堆,栈,链表,哈希表,平衡树”这种
你的简历改到第几版了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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