力扣 二叉树 104. 二叉树的最大深度

104. 二叉树的最大深度

一、题目描述

二、理解

对照二叉树的递归定义:

  • 如果树为空,则它是一个空树。
  • 如果树不为空,它由一个根节点和两个子树组成,分别是左子树和右子树,且左子树和右子树本身也是二叉树。
    采用递归形式解决问题:
  • 首先判断 root 是否 null,若为 null,则该树的的深度为0。
  • 若 root 不为 null,则该树的最大深度为,max (左子树的最大深度, 右子树最大深度) + 1。

三、代码

java 复制代码
/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode() {}
 *     TreeNode(int val) { this.val = val; }
 *     TreeNode(int val, TreeNode left, TreeNode right) {
 *         this.val = val;
 *         this.left = left;
 *         this.right = right;
 *     }
 * }
 */
class Solution {
    public int maxDepth(TreeNode root) {
        if (root == null) {
            return 0;
        }
        int leftDepth = maxDepth(root.left);
        int rightDepth = maxDepth(root.right);
        return Math.max(leftDepth, rightDepth) + 1;
    }
}
相关推荐
啥都鼓捣的小yao几秒前
Python使用SVC算法解决乳腺癌数据集分类问题——寻找最佳核函数
python·算法·分类
安然无虞16 分钟前
31天Python入门——第14天:异常处理
后端·爬虫·python·职场和发展·pyqt
小鸭呱呱呱27 分钟前
【CSS】- 表单控件的 placeholder 如何控制换行显示?
前端·javascript·css·深度学习·面试·职场和发展·html
三分钟管理实战案例1 小时前
应对传统能源企业人才短缺与规划缺失的策略
职场和发展·能源
Java版蜡笔小新2 小时前
算法-贪心算法
算法·贪心算法
LuckyAnJo2 小时前
Leetcode-100 回溯法-电话号码的字母组合
python·算法·leetcode
HR Zhou2 小时前
群体智能优化算法-鹈鹕优化算法(Pelican Optimization Algorithm, POA,含Matlab源代码)
算法·机器学习·matlab·优化·群体智能优化
LuckyLay2 小时前
LeetCode算法题(Go语言实现)_20
算法·leetcode·职场和发展·golang
Phoebe鑫3 小时前
数据结构每日一题day7(顺序表)★★★★★
算法
Suc_zhan5 小时前
实验二 如何将随机森林算法应用于激酶抑制剂分类任务
python·算法·随机森林·机器学习