题目:

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

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

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

示例:

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

3
/ \
9 20
/ \
15 7

返回它的最小深度 2.

简单介绍:
题目:二叉树的最小深度
题目难度:简单
使用语言:JAVA
这道题来自leetcode题库的深度优先搜索标签。

解题思路:
主要解法:递归。

**递归出口很容易可以想得到。
观察一下,发现情况可以分为3种。
1.左单叶树,统计右子树长度即可
2.右单叶树,统计左子树长度即可
3.双子叶树,比较左右子树长度,取最小。
**

数据结构:
要实现对数据的操作,我们要先明确存储数据的数据结构。
该题的数据结构的作用:
1.无需数据结构

算法:
既然明确了我们的数据结构,我们就可以开始我们的算法分析了。
1.第一步,初始化工作,设置递归出口。
2.第二步,分情况实现代码。

代码部分:


/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode(int x) { val = x; }* }*/
public class Solution {public int minDepth(TreeNode root) {if(root==null) return 0;if(root.left==null) return minDepth(root.right)+1;if(root.right==null) return minDepth(root.left)+1;int left=1;int right=1;left=left+minDepth(root.left);right=right+minDepth(root.right);return left<right?left:right;}
}

时间、空间复杂度:

结语:
晚安!晚安!晚安!晚安!晚安!晚安!晚安!晚安!晚安!晚安!晚安!

LeetCode解析------111. 二叉树的最小深度-深度优先搜索相关推荐

  1. 【Leetcode】111. 二叉树的最小深度

    一.题目 1.题目描述 给定一个二叉树,找出其最小深度. 最小深度是从根节点到最近叶子节点的最短路径上的节点数量. 说明:叶子节点是指没有子节点的节点. 示例1: 输入:root = [3,9,20, ...

  2. leetcode系列-111.二叉树的最小深度

    题目描述:给定一个二叉树,找出其最小深度.最小深度是从根节点到最近叶子节点的最短路径上的节点数量.说明:叶子节点是指没有子节点的节点. 示例 1: 输入:root = [3,9,20,null,nul ...

  3. 111. 二叉树的最小深度 golang

    111. 二叉树的最小深度 给定一个二叉树,找出其最小深度. 最小深度是从根节点到最近叶子节点的最短路径上的节点数量. 说明: 叶子节点是指没有子节点的节点. 示例: 给定二叉树 [3,9,20,nu ...

  4. Leetcode 111.二叉树的最小深度

    Time: 20190901 Type: Easy 题目描述 给定一个二叉树,找出其最小深度. 最小深度是从根节点到最近叶子节点的最短路径上的节点数量. 说明: 叶子节点是指没有子节点的节点. 示例: ...

  5. [LeetCode 111] - 二叉树的最小深度 (Minimum Depth of Binary Tree)

    问题 给出一棵二叉树,找出它的最小深度. 最小深度是指从根节点沿着最短路径下降到最近的叶子节点所经过的节点数. 初始思路 不难看出又是一个需要层次遍历二叉树的题目,只要在112基础上作出简单修改即可得 ...

  6. [leetcode]111.二叉树的最小深度

    给定一个二叉树,找出其最小深度. 最小深度是从根节点到最近叶子节点的最短路径上的节点数量. 说明:叶子节点是指没有子节点的节点. 示例 1: 输入:root = [3,9,20,null,null,1 ...

  7. LeetCode 111二叉树的最小深度-简单

    给定一个二叉树,找出其最小深度. 最小深度是从根节点到最近叶子节点的最短路径上的节点数量. 说明:叶子节点是指没有子节点的节点. 示例 1: 输入:root = [3,9,20,null,null,1 ...

  8. leetcode - 111. 二叉树的最小深度

    给定一个二叉树,找出其最小深度. 最小深度是从根节点到最近叶子节点的最短路径上的节点数量. 说明: 叶子节点是指没有子节点的节点. 示例: 给定二叉树 [3,9,20,null,null,15,7], ...

  9. LeetCode 111 二叉树的最小深度

    给定二叉树,求最小深度 思路 1.递归 求根节点的左子树和右子树的最小深度 1.当只有一个根节点时,深度为1 2.当根节点为空时,深度为0 3.当根节点不为空时, (1) 当左子树 或 右子树为空时, ...

最新文章

  1. 使用 IntraWeb (8) - 系统模板
  2. 力扣—— 三维形体投影面积
  3. linux php 如何停止,如何关闭linux
  4. python基础7 (来自廖雪峰的官方网站)
  5. 开源cms 和 开源博客_BackBee CMS如何以及为何开源
  6. mysql报错:You must at least set –server-id to enable either a master or a slave
  7. 学习TP5(一):TP5框架下载与快速入门使用
  8. 【软考】2018年下半年软件设计师上午试题及答案
  9. 恢复Windows默认文件资源管理器(Files设置后,恢复亲测可用)
  10. mysql ndb同步_MySQL NDB Cluster 7.5.16 部署OGG同步
  11. Windows下利用Chrome调试IOS设备页面
  12. Homebrew进阶使用教程(二)-用一个命令行天气客户端构建自己的仓库
  13. MYSQL 更改初始 ROOT 密码
  14. 中兴ZTEWCDMA3G模块MF206
  15. python笔记:数据分析的实际应用 工具小记
  16. python微信登录模块_Python清理微信僵尸粉,基于itchat模块
  17. 华为S5720-32X-EI-AC配置备份
  18. SpringBoot 生成pdf文件(含报表)
  19. IAP15F2K61S2单片机引脚图
  20. mtk 添加app编译进系统

热门文章

  1. 基于TIA博途SCL语言的设备累计运行时间FB函数库_具体方法及程序示例
  2. Vue3+vite配置postcss-pxtorem报错[plugin:vite:css] Failed to load PostCss config
  3. B2B2C 商业模式
  4. 自上而下语法分析器python
  5. 牛顿法和牛顿下山法求极值的理解
  6. poi导入数据工具类,直接复制使用,有详细注释
  7. R安装nCov2019包报错:Failed to install 'unknown package' from GitHub: schannel: failed to receive handsh
  8. 设值单元格字体和背景色的颜色-实例
  9. C语言的结构体前置声明,?C语言的不完整类型和前置声明
  10. 【数据结构与算法】前端JS实现栈