题解 | #二叉树的深度#

二叉树的深度

https://www.nowcoder.com/practice/435fb86331474282a3499955f0a41e8b

/* function TreeNode(x) {
    this.val = x;
    this.left = null;
    this.right = null;
} */
function TreeDepth(pRoot)
{
    // 本题求的是二叉树的最大深度,即二叉树的高度,可以使用后序遍历实现(从下往上的顺序)
    // 当节点为空,即遍历到叶子节点下个节点时,其高度为0
    if(!pRoot) return 0;
    // 递归求左子树的高度
    let leftDepth = TreeDepth(pRoot.left);
    // 递归求右子树的高度
    let rightDepth = TreeDepth(pRoot.right);
    // 左子树右子树高度的最大值+1即为当前父节点的高度
    let depth = Math.max(leftDepth, rightDepth) + 1;
    return depth;
}
module.exports = {
    TreeDepth : TreeDepth
};

全部评论

相关推荐

08-27 12:02
已编辑
南京外国语学校 网络安全
再来一遍:实则劝各位不要all in华子,不要相信华为hr
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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