104. 二叉树的最大深度

题目:

104. 二叉树的最大深度

题解:



代码:

/** * code104 */
public class code104 {

    public static int maxDepth(TreeNode root) {
        // 递归退出条件,到叶子节点
        if (root == null) {
            return 0;
        }
        // 计算左子树最大深度
        int leftMaxDepth = maxDepth(root.left);
        // 计算右子树最大深度
        int rightMaxDepth = maxDepth(root.right);
        // 以某个节点为根节点的数的最大深度为Max
        // Max = max(leftMaxDepth,rightMaxDepth)+1
        return Math.max(leftMaxDepth, rightMaxDepth) + 1;
        // 以上可合并为:
        // return Math.max(maxDepth(root.left), maxDepth(root.right)) + 1;
    }

    public static void main(String[] args) {
        System.out.println("***************************************");
        Integer nums[] = { 3, 9, 20, null, null, 15, 7 };
        TreeNode tree = ConstructTree.constructTree(nums);
        TreeOperation.show(tree);
        System.out.println("***************************************");
        int count = maxDepth(tree);
        System.out.println("该二叉树的最大深度为: " + count);
        System.out.println("***************************************");
    }
}

参考:

  1. 二叉树的最大深度
  2. 漫画:绝对能看懂的DFS题解
  3. 使用递归解决
  4. java实现,三种方法,递归实现、迭代实现(DFS、BFS)
  5. 图解 104. 二叉树的最大深度 | 递归/Python/Golang 详细解答
全部评论

相关推荐

我面试,她问我有女朋友没
不甜主义:考验稳定性,单身牛马更注意力集中
点赞 评论 收藏
分享
白火同学:能。我当初应届沟通了1200,收简历50,面试10左右吧,加油投吧
点赞 评论 收藏
分享
学java时间比较短不到三个月,基本的技术栈都过了一遍就是都不太深,有个小项目。是继续找实习还是沉淀准备秋招呢?找实习的话会花很多时间在八股,放弃的话又怕秋招简历太难看。有无大佬支招
今天java了吗:1.一定要找实习,实习不一定要去,但是找实习过程中的面试经验和心态经验才是最重要的 2.八股本来就是大头,甚至比项目重要 3.这个时间段也是面试比较多的阶段,可以抓住机会锻炼。面试才会发现自己的不足,感觉自己会了和能给面试官娓娓道来是两码事
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

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