题解 | #二叉树的下一个结点#

二叉树的下一个结点

https://www.nowcoder.com/practice/9023a0c988684a53960365b889ceaf5e

/*function TreeLinkNode(x){
    this.val = x;
    this.left = null;
    this.right = null;
    this.next = null;
}*/

function midOrderRead(node, results) {
    if (node === null) return
    midOrderRead(node.left, results)
    results.push(node)
    midOrderRead(node.right, results)
}

function GetNext(pNode)
{
    // write code here
    if (pNode === null) return null
    let root = pNode
    while (root.next !== null) {
        root = root.next
    }

    const results = []
    midOrderRead(root, results)
    for (let i = 0; i < results.length; i++) {
        if (results[i].val === pNode.val && i < results.length - 1) {
            return results[i + 1]
        }
    }
    return null
}
module.exports = {
    GetNext : GetNext
};

全部评论

相关推荐

半解316:内容充实,细节需要修改一下。 1,整体压缩为一页。所有内容顶格。 2,项目描述删除,直接写个人工作量 修改完之后还需要建议,可以私聊
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
06-27 15:19
简历上能写3个月吗?
码农索隆:大胆写,主要你能把实习经历包装好,可以看一下我这篇帖子https://www.nowcoder.com/share/jump/4888395581180798063
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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