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

算法---LeetCode 111. 二叉树的最小深度

1. 题目

原题链接
给定一个二叉树,找出其最小深度。

最小深度是从根节点到最近叶子节点的最短路径上的节点数量。

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

示例 1:

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

输入:root = [2,null,3,null,4,null,5,null,6]
输出:5

提示:

树中节点数的范围在 [0, 105] 内
-1000 <= Node.val <= 1000

2. 题解

2.1 解法1: 递归

主要思想

这道题的关键是搞清楚递归结束条件

叶子节点的定义是左孩子和右孩子都为 null 时叫做叶子节点
当 root 节点左右孩子都为空时,返回 1
当 root 节点左右孩子有一个为空时,返回不为空的孩子节点的深度
当 root 节点左右孩子都不为空时,返回左右孩子较小深度的节点值

classSolution{publicintminDepth(TreeNoderoot){if(root==null)return0;if(root.left==null&&root.right==null)return1;intleft=minDepth(root.left);intright=minDepth(root.right);if(root.left==null)returnright+1;if(root.right==null)returnleft+1;returnMath.min(left,right)+1;}}

参考: 二叉树的最小深度-理解递归结束条件

2.2 解法2: BFS

classSolution{publicintminDepth(TreeNoderoot){if(root==null)return0;Queue<TreeNode>queue=newLinkedList<>();queue.offer(root);intdepth=0;while(!queue.isEmpty()){intsize=queue.size();depth++;for(inti=0;i<size;i++){TreeNodepoll=queue.poll();if(poll.left==null&&poll.right==null){returndepth;}if(poll.left!=null){queue.offer(poll.left);}if(poll.right!=null){queue.offer(poll.right);}}}return0;}}
http://www.rkmt.cn/news/132985.html

相关文章:

  • Excalidraw开源优势解析:自由部署、数据私有化保障
  • 从想法到图表仅需一句话:Excalidraw集成AI绘图功能
  • Excalidraw表达AB测试流程:实验设计示意图
  • 业务域名验证文件添加操作手册
  • Excalidraw构建远程诊疗流程:互联网医院模式图
  • Excalidraw构建可持续发展战略:ESG目标分解
  • JAVA 21 Spring Boot 4 学习--迁移指南 Migration Guide
  • Excalidraw呈现用户体验地图:痛点机会点识别
  • Excalidraw呈现组织变革管理:转型过程可视化
  • Excalidraw构建风控规则树:反欺诈策略图示
  • 权威发布2025中国鱼竿十大名单 国产良心钓鱼竿品牌全梳理 - 品牌2026
  • 63、Windows 7 用户账户与组账户管理全攻略
  • 79、Windows Media Center 使用指南:从设置到媒体管理
  • 80、Windows Media Center使用指南
  • Excalidraw绘制容器编排:K8s集群视图构建
  • 64、电脑使用安全与磁盘管理全攻略
  • Excalidraw描述分布式事务:一致性方案对比
  • 73、Windows 7 系统数据恢复与故障解决指南
  • Excalidraw呈现语音识别流程:ASR技术栈拆解
  • Excalidraw绘制实时数仓:流批一体架构图
  • Excalidraw绘制神经网络结构:CNN/RNN/GAN图示
  • 75、Windows 7 常见问题解决与安装指南
  • 78、深入了解Windows 7组策略与媒体中心
  • FlutterOpenHarmony进度指示器组件开发
  • MiniMax通过上市聆讯:持有现金超10亿美元 阿里米哈游腾讯加持
  • 【C2000系列DSP的Bootloader详解】如何打包源文件为库文件且加密仅授权使用,一步步教你如何实现
  • 29、Windows 7 管理与安全设置全解析
  • Excalidraw设计权限矩阵:RBAC模型绘制
  • 34、深入了解 Internet Explorer 高级设置与故障排除
  • 【毕业设计】PythonB站数据分析可视化系统 (系统配套论文)