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

二叉树的下一个结点

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

```/*function TreeLinkNode(x){
    this.val = x;
    this.left = null;
    this.right = null;
    this.next = null;
}*/
function GetNext(pNode)
{
    // write code here
    //1.暴力法,中序遍历,查找(写法略) 2.找规律
    
    if(pNode===null){return null}
    if(pNode.right){
        pNode=pNode.right
        while(pNode.left){
            pNode=pNode.left
        }
        return pNode //有右子树时,就是右子树的最左节点           
    }

    //没有右子树,则下一个节点是将父节点作为左节点的节点.
    while(pNode.next){ //如果父节点已经就是null,说明输入的是没有右子树的根节点,跳过下面的代码到返回null
    //判断当前节点是否为父节点的左节点,如果是下一个就是父节点。否则向上查找其父节点,直到该节点是父节点的左节点。
        if(pNode===pNode.next.left){return pNode.next} 
        pNode=pNode.next
    }
//如果查到根节点了,next是null。
    return null
    

}
module.exports = {
    GetNext : GetNext
};
全部评论
我们下一个节点,就是你是孩子他爸
点赞 回复 分享
发布于 2021-11-23 23:23
你怎么这么🐮
点赞 回复 分享
发布于 2021-11-23 23:15

相关推荐

07-02 13:52
武汉大学 golang
点赞 评论 收藏
分享
05-26 10:24
门头沟学院 Java
qq乃乃好喝到咩噗茶:其实是对的,线上面试容易被人当野怪刷了
找工作时遇到的神仙HR
点赞 评论 收藏
分享
认真搞学习:28小登的建议,投算法岗不要写什么物理竞赛,互联网+,多写点项目,用什么算法做了什么。还有本科算法是不可能的开发你这个也没有项目啊
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

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