
LeetCode - 111.二叉树的最小深度(递归)1 (需要补充迭代的代码)
输入:root = [3,9,20,null,null,15,7] 输出:2
发布日期:2021-05-07 21:18:08
浏览次数:22
分类:精选文章
本文共 747 字,大约阅读时间需要 2 分钟。
题目:
给定一个二叉树,找出其最小深度。
最小深度是从根节点到最近叶子节点的最短路径上的节点数量。
说明:叶子节点是指没有子节点的节点。

方法一: 递归
(需要注意全是右子树的特例需要进行判断)
最小深度是从根节点到最近叶子节点的最短路径上的节点数量。,注意是叶子节点。

代码:
class Solution { public int minDepth(TreeNode root) { if(root == null) return 0; //这道题递归条件里分为三种情况 //1.左孩子和有孩子都为空的情况,说明到达了叶子节点,直接返回1即可 if(root.left == null && root.right == null) return 1; //2.如果左孩子和由孩子其中一个为空,那么需要返回比较大的那个孩子的深度 int m1 = minDepth(root.left); int m2 = minDepth(root.right); //这里其中一个节点为空,说明m1和m2有一个必然为0,所以可以返回m1 + m2 + 1; if(root.left == null || root.right == null) return m1 + m2 + 1; //3.最后一种情况,也就是左右孩子都不为空,返回最小深度+1即可 return Math.min(m1,m2) + 1; }}
发表评论
最新留言
逛到本站,mark一下
[***.202.152.39]2025年03月30日 06时29分33秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
.net 4种单例模式
2021-05-09
T4 生成数据库实体类
2021-05-09
C#搞个跨平台的桌面NES游戏模拟器
2021-05-09
手把手教你安装Eclipse最新版本的详细教程 (非常详细,非常实用)
2021-05-09
《带你装B,带你飞》pytest成魔之路4 - fixture 之大解剖
2021-05-09
互联网App应用程序测试流程及测试总结
2021-05-09
根据轨迹分析出用户家在哪
2021-05-09
PostgreSQL查询表名称及表结构
2021-05-09
是什么?评估分类器的常用概念----准确率,精确率,召回率
2021-05-09
linux中使用awk命令
2021-05-09
LAB2 内核的内存管理
2021-05-09
如何使用google搜索?
2021-05-09
Redis分布式锁的正确实现方式
2021-05-09
设计模式-抽象工厂模式
2021-05-09
MySQL Explain查看执行计划详解
2021-05-09
IntelliJ IDEA 中,项目文件右键菜单没有svn选项解决办法
2021-05-09
Spring 动态绑定多实现类实例综述
2021-05-09
IDEA 调试Java代码的两个技巧
2021-05-09
Spring AOP 面向切面编程之AOP是什么
2021-05-09
MyBatis常见面试题:#{}和${}的区别是什么?
2021-05-09