每日一道算法题024 二叉树的最大深度

194 阅读1分钟

题目

leetCode 第 104 题,二叉树的最大深度 关联类型:树

给定一个二叉树,找出其最大深度。

二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。

说明: 叶子节点是指没有子节点的节点。

示例:
给定二叉树 [3,9,20,null,null,15,7],

    3
   / \
  9  20
    /  \
   15   7
返回它的最大深度 3

做题时间

class Solution {
    public int maxDepth(TreeNode root) {
       
       
       
    }
}

以上给出方法输入参数,完成作答。

题目分析

  1. 分析可得,当节点不为null,则当前深度为 1
  2. 每一层的节点都与上面一样,则可得到递归规律
  3. 当节点为 null,则深度为 0
  4. 返回左右节点深度最大的结果即可

解答分析

本文只分析本人做题思路,仅供参考,了解一种解题思想,其他各种做题思路请上网查阅。

解答成功:
执行耗时:0 ms,击败了100.00% 的Java用户
内存消耗:38.3 MB,击败了81.60% 的Java用户

class Solution {
    public int maxDepth(TreeNode root) {
        if (root == null) {
            return 0;
        } else {
            int leftHeight = maxDepth(root.left);
            int rightHeight = maxDepth(root.right);
            return Math.max(leftHeight, rightHeight) + 1;
        }
    }
}