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

LeetCode 104. 二叉树的最大深度

 题目描述  

给定一个二叉树 root ,返回其最大深度。

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

示例

示例 1:

输入:root = [3,9,20,null,null,15,7]
输出:3

示例 2:

输入:root = [1,null,2]
输出:2

解法

1.后序遍历(DFS)

       此树的深度和其左(右)子树的深度之间的关系。显然,此树的深度 等于 左子树的深度 与 右子树的深度中的 最大值 +1 。

  • 终止条件: 当 root​ 为空,说明已越过叶节点,因此返回 深度 0 。
  • 递推工作: 本质上是对树做后序遍历。
  • 计算节点 root​ 的 左子树的深度 ,即调用 maxDepth(root -> left)。
  • 计算节点 root​ 的 右子树的深度 ,即调用 maxDepth(root -> right)。
  • 返回值: 返回 此树的深度 ,即 max(l_depth,r_depth) + 1。
class Solution {
public:int maxDepth(TreeNode* root) {if(root == nullptr) return 0;int l_depth = maxDepth(root -> left);int r_depth = maxDepth(root -> right);return max(l_depth,r_depth) + 1;}
};

        时间复杂度O(N),空间复杂度O(N)

http://www.dtcms.com/a/393781.html

相关文章:

  • 欧拉角描述相机的运动
  • Unity2D-Spriteshape
  • 打工人日报#20250921
  • Coolmuster Android Assistant:Windows系统下的Android设备管理专家
  • Android 的多进程机制 (Android Multi-Process Model)
  • 2025研究生数学建模通用神经网络处理器下的核内调度问题草案
  • Spring Boot 4 新特性详解:5大核心更新助力企业级开发
  • 计算机网络经典问题透视:网络利用率和网络时延之间,究竟存在着怎样一种“爱恨交织”的关系?我们梦寐以求的100%网络利用率,在现实世界中真的能够实现吗
  • requests 和 lxml 库的xpath实现
  • 前端梳理体系从常问问题去完善-工程篇(webpack,vite)
  • Go语言在K8s中的核心优势
  • 旅游门票预订系统支持微信小程序+H5
  • Requests 网络请求:Python API 交互与数据获取
  • 基于Dify实现简历自动筛选过滤
  • PHP中常见数组操作函数
  • 避坑指南:鸿蒙(harmony next)APP获取公钥和证书指纹的方法
  • Java 大视界 -- Java 大数据在智能教育学习效果评估与教学质量改进中的深度应用(414)
  • 【场景题】如何解决大文件上传问题
  • 云原生复杂多变的环境中的安全防护方案
  • Python10-逻辑回归-决策树
  • 如何生成一个不会重复随机数?
  • 【精品资料鉴赏】155页WORD大型制造企业MES制造执行系统建设方案
  • 定时计划任务
  • 【脑电分析系列】第23篇:癫痫检测案例:从频谱特征到深度学习模型的CHB-MIT数据集实战
  • `CookieStore` API
  • 数据可视化的中间表方案
  • 编译运行duckdb rust插件模板extension-template-rs
  • 接口测试流程+jmeter并发+面试题(总结)
  • JMeter下载安装及入门教程
  • Oracle体系结构-Java Pool详解