①题目

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

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

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

示例:

给定二叉树 [3,9,20,null,null,15,7],

返回它的最小深度  2.

②思路

使用深度优先搜索

③代码

 class Solution {
public int minDepth(TreeNode root) {
if (root == null) {
return 0;
}
if ((root.left == null) && (root.right == null)) {
return 1; //当“当前结点”为叶子结点时,返回1,退出本次递归,并且跳过了17行min_depth的自加。
} int min_depth = Integer.MAX_VALUE; //因为要求最小深度,所以一开始把它设置为最大的int整数,这与530题题解的第三行异曲同工,也与783的低4行类似。
if (root.left != null) {
min_depth = Math.min(minDepth(root.left), min_depth);
}
if (root.right != null) {
min_depth = Math.min(minDepth(root.right), min_depth);
}
return min_depth + 1; //每递归一次,只要不是第3行,第6行的情况,那么最终都会在这里让min_depth加个1。
}
}
//我们用深度优先搜索来解决这个问题。
//这是我看的别人的答案。

④学到的东西

1、判断叶子结点,就是直接判断左右孩子为空不。

2、要学会这种第17行给min_depth自加的行为。

3、再次深化第10行在自己脑子里的记忆。

最新文章

  1. ASP.NET MVC5 网站开发实践(二) Member区域 - 用户部分(2)用户登录、注销
  2. kafka入门:简介、使用场景、设计原理、主要配置及集群搭建(转)
  3. Ubuntu 修改 ssh 登录后的欢迎信息
  4. j.APR连接器整体框图(含SSL实现分析)
  5. sqlserver分区表实践:对时间分区表自动进行管理
  6. 一键清除cvs/svn 目录
  7. 我用过的Linux命令之chmod
  8. JQuery中实现Ajax
  9. Git相关操作四
  10. git打包
  11. Webpack 2 视频教程 011 - Webpack2 中加载 CSS 的相关配置与实战
  12. p2p项目,自己期望太高了。
  13. LeetCode & Q283-Move Zeroes-Easy
  14. pig 的chararry类型不能用比较运算符comparison operator
  15. Config Server高可用
  16. nginx的信号量
  17. iTOP-4412开发板_驱动_adc驱动升级和测试例程
  18. js变量以及其作用域
  19. Sublime Text下使用SFTP/FTP插件
  20. 模拟日历计算 poj1008

热门文章

  1. php 学习编译扩展
  2. Qt 找不到rc.exe
  3. HTML CSS3中2D转换、3D转换、过渡效果总结
  4. luoguP1006 传纸条
  5. [JoyOI1519] 博彩游戏
  6. 初识AutoIt
  7. POJ 1276 Cash Machine(多重背包的二进制优化)
  8. hadoop-3.1.2启动httpfs
  9. 共轭梯度法求解协同过滤中的 ALS
  10. 07 python学习笔记-写一个清理日志的小程序(七)