当前位置: 首页 > article >正文

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

104. 二叉树的最大深度

一、题目描述

在这里插入图片描述

二、理解

对照二叉树的递归定义:

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

三、代码

/**
 * 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;
    }
}

http://www.kler.cn/news/340819.html

相关文章:

  • FastJson详解与使用:高效JSON解析与序列化利器
  • 计算机毕业设计Django+Vue.js豆瓣图书推荐系统 图书评论情感分析 豆瓣图书可视化大屏 豆瓣图书爬虫 数据分析 图书大数据 大数据毕业设计 机器学习
  • 在Ubuntu 22.04上安装Ollama的两种方式
  • 胤娲科技:AI评估新纪元——LightEval引领透明化与定制化浪潮
  • Springboot3+druid+jasypt+application.yml配置文件数据库密码加密技术
  • 上门安装维修系统小程序开发详解及源码示例
  • pip 和 conda 的安装区别
  • Unity实现自定义图集(四)
  • 软件包与服务搭建
  • 滚雪球学Redis[3.1讲]:Redis的持久化机制
  • Scalable TCP 如何优化长肥管道
  • 《黑神话悟空:点燃朔州文旅之火》
  • 云服务器架构详解:X86计算_ARM_GPU/FPGA/ASIC_裸金属_超级计算集群
  • scrapy爬取汽车、车评数据【下】
  • 02. 上报自定义数据到 prometheus(使用 Python Client)
  • 【C++】set和multiset(关联式容器、键值对,set和multiset的基本特性、主要用途及常用操作)
  • 搜维尔科技:Haption远程操作项目模拟项目
  • Spring Validation —— 参数校验框架
  • Linux系统中,文件和文件夹的权限和所有权核心概念
  • Window系统编程 - 文件操作