资讯专栏INFORMATION COLUMN

求二叉树的深度

DevTTL / 474人阅读

摘要:题目描述输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点含根叶结点形成树的一条路径,最长路径的长度为树的深度。地址递归思路递归求左子树和右子树深度,然后比较,最终返回最大值加。

题目描述

输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。

地址:https://www.nowcoder.com/prac...

递归

思路:递归求左子树和右子树深度,然后比较,最终返回最大值加1。

/* function TreeNode(x) {
    this.val = x;
    this.left = null;
    this.right = null;
} */
function TreeDepth(node) {
    if(node == null) {
        return 0;
    }
    let left = TreeDepth(node.left);
    let right = TreeDepth(node.right);
    return left > right ? left+1 : right+1; // 不要写成left++,  right++
}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/97237.html

相关文章

  • 【刷算法】求二叉树深度的递归以及非递归解法

    摘要:题目描述输入一棵二叉树,求该树的深度。递归解法非递归解法原来标识当前层是否遍历完毕当前弹出元素为时,说明一层以及遍历完毕了,所以最后一层的弹出时不能再往队列里面加了 题目描述 输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。 递归解法 function TreeNode(x) { this.val = x;...

    Carl 评论0 收藏0
  • LeetCode 之 JavaScript 解答第104题 —— 二树的最大深度

    摘要:小鹿题目二叉树的最大深度给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。求二叉树的深度,必然要用到递归来解决。分别递归左右子树。 Time:2019/4/22Title: Maximum Depth of Binary TreeDifficulty: MediumAuthor:小鹿 题目:Maximum Depth of Binary Tre...

    boredream 评论0 收藏0
  • 使用JavaScript完成二树的一些基本操作

    摘要:另外,由于篇幅有限,本篇的重点在于二叉树的常见算法以及实现。常见的二叉树实现代码之前写过相关的文章,是关于如何创建及遍历二叉树的,这里不再赘述。同时我们注意到,在二叉树深度比较大的时候,我们光是比较左右是不够的。 本篇为复习过程中遇到过的总结,同时也给准备面试的同学一份参考。另外,由于篇幅有限,本篇的重点在于二叉树的常见算法以及实现。 常见的二叉树实现代码 之前写过相关的文章,是关于如...

    YPHP 评论0 收藏0

发表评论

0条评论

DevTTL

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<