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 详细解答
全部评论

相关推荐

dian3b:挺妙的,如果上纲上线显得不合人心,但是这样以来既能监督适当摸鱼,也有一定的人文关怀。
摸鱼被leader发现了...
点赞 评论 收藏
分享
在写周报的打工人很独...:这个笔试昨天晚上做了一下,真难啊,前后端,ai全有
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

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