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

Leetcode刷题营第二十七题:二叉树的最大深度

104. 二叉树的最大深度

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

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

示例 1:

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

示例 2:

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

提示:

  • 树中节点的数量在 [0, 104] 区间内。
  • -100 <= Node.val <= 100

算法思路:利用递归遍历二叉树

        二叉树的深度包括需要分别比较左子树和右子树,因为左右子树的深度不一致,只要该节点不为0,深度就要加1。

思维导图:

这里注意的是,我们要看的最大深度是:左右子树延伸的最大深度。

代码实现如下:

//求解二叉树的最大深度int maxDepth(struct TreeNode* root) {if(root == NULL){return 0;}int left_Depth = maxDepth(root->left);int right_Depth = maxDepth(root->right);return 1+(left_Depth > right_Depth ? left_Depth :right_Depth);
}

好了,本期内容就到这里结束了,这里我们只介绍了使用深度优先算法实现二叉树的最大深度求解对于深度小的二叉树非常适用,后续我们还会介绍如何使用广度搜索方法(BFS)+队列 :使用层序遍历,每遍历一层就把深度加一。实现类似的深度求解,

好了本期的内容就到这里了,谢谢大家的点赞和收藏!

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

相关文章:

  • 研二Last Day
  • 【保姆级喂饭教程】idea开发TODO规范
  • 【项目实践08】【事务加锁的问题】
  • 【C++类和对象解密】面向对象编程的核心概念(下)
  • openinstall上线SSL证书服务,开启数字安全新纪元
  • 从现场出发:能源系统中的智能设备与实际落地工具解读
  • 7 基本的空间关系判断
  • Git仓库核心概念与工作流程详解:从入门到精通
  • 「Java案例」递归实现整数的倒置
  • MyBatis-Flex 学习与整理
  • LeNet-5 详解:从理论到实践
  • HTML前端性能优化完整指南
  • LeetCode 234:回文链表
  • 文件类型说明
  • H7-TOOL脱机下载后,自动重连RTT,CAN和串口助手三合一模式方法,方便项目测试(2025-07-16)
  • Spring Boot 分层架构详解:Controller、Service、Mapper...
  • C++网络编程 5.TCP套接字(socket)通信进阶-基于多线程的TCP多客户端通信
  • 鸿蒙状态栏操作
  • 能碳管理平台:企业碳减排解决方案绿色工厂达标工具
  • Trae IDE:打造完美Java开发环境的实战指南
  • 基于深度学习的电信号分类识别与混淆矩阵分析
  • AI 总结工作报告
  • 【人工智能agent】--dify版本更新(通用)
  • 错误经验一:计算两个整数a和b的和
  • Paimon 动态分桶
  • 如何优雅处理 Flowable 工作流的 TaskAlreadyClaimedException?
  • SpringBoot02-application配置文件
  • 行业研究 | 2025金融可观测性实践与趋势洞察报告重磅发布!
  • 数据结构自学Day9: 二叉树的遍历
  • 克鲁斯焊接机器人保护气省气方案