问题

给出一棵二叉树,找出它的最小深度。

最小深度是指从根节点沿着最短路径下降到最近的叶子节点所经过的节点数。

初始思路

不难看出又是一个需要层次遍历二叉树的题目,只要在112基础上作出简单修改即可得出答案。

 1 class Solution
 2     {
 3     public:
 4         int minDepth(TreeNode *root)
 5         {
 6             if(!root)
 7             {
 8                 return 0;
 9             }
10
11             treeLevel_[0].clear();
12             treeLevel_[1].clear();
13
14             depth_ = 0;
15
16             bool flag = false;
17             treeLevel_[0].push_back(root);
18
19             while(!treeLevel_[flag].empty())
20             {
21                 ++depth_;
22                 for(auto iter = treeLevel_[flag].begin(); iter != treeLevel_[flag].end(); ++iter)
23                 {
24                     if(!(*iter)->left && !(*iter)->right)
25                     {
26                         return depth_;
27                     }
28
29                     if((*iter)->left)
30                     {
31                         treeLevel_[!flag].push_back((*iter)->left);
32                     }
33
34                     if((*iter)->right)
35                     {
36                         treeLevel_[!flag].push_back((*iter)->right);
37                     }
38                 }
39
40                 treeLevel_[flag].clear();
41
42                 flag = !flag;
43             }
44
45             return depth_;
46
47         }
48
49     private:
50         std::vector<TreeNode*> treeLevel_[2];
51         int depth_;
52     };

minDepth

转载于:https://www.cnblogs.com/shawnhue/p/leetcode_111.html

[LeetCode 111] - 二叉树的最小深度 (Minimum Depth of Binary Tree)相关推荐

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

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

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

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

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

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

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

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

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

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

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

    题目 思路 递归解法,思路直接看注释吧~ 注意对于最小深度定义,有一个小坑,下面这棵树的结果应该是2,而不是1,为此我专门加了一个判断: 如果根部只有一个孩子,则另一侧深度恒为1.此时,应取有孩子的那 ...

  7. 【LeetCode】Minimum Depth of Binary Tree 二叉树的最小深度 java

    [LeetCode]Minimum Depth of Binary Tree Given a binary tree, find its minimum depth. The minimum dept ...

  8. C#LeetCode刷题之#111-二叉树的最小深度​​​​​​​(Minimum Depth of Binary Tree)

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

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

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

最新文章

  1. view(*args)改变张量的大小和形状_pytorch reshape numpy
  2. swift通知栏推送_如何使用Swift和Laravel使用推送通知创建iOS加密跟踪应用
  3. 十三五乐山全力推进智慧城市和新能源汽车等项目
  4. ubuntu安装node.js
  5. 电脑版企业微信_企业微信教育版功能更新啦!
  6. 水晶报表10高级开发版下载及序列号
  7. lodash 根据某个字段排序处理
  8. Javascript刷新当前页
  9. Java的反射机制(Reflection)
  10. VMware与 Device/Credential Guard 不兼容.
  11. HP server ILO
  12. linux系统学习第二天
  13. springboot批量更新实体_springboot使用druid批量更新报错
  14. 查看java堆栈信息
  15. STM32开发实例 基于STM32单片机的智能快递系统
  16. 202107 VMware NSX-T培训笔记2(东西向网段间路由原理)
  17. Caused by: java.lang.IllegalArgumentException报错
  18. Htmlunit 使用总结
  19. 运维平台权限表结构设计
  20. 盘棋析解之”Emag eht htiw Em Pleh“

热门文章

  1. 深入理解委托——为什么C#要引入委托
  2. e1载波把32个信道按_E1载波把32个信道按(11)方式复用在一条2.048Mb/s的高速信道上,每条话音信道的数据速率是(12)。...
  3. linux android编译环境,Linux下Android开发安装环境配置
  4. 中国矿业大学考研计算机技术,中国矿业大学(北京)(专业学位)计算机技术考研难吗...
  5. linux 磁盘扩容_当LINUX服务器磁盘空间不够时如何进行磁盘扩容?
  6. 计算机公共课考试试题,2019-度公共课计算机应用基础考试试题附答案.doc
  7. pyecharts x轴全显示_超详细Pyecharts 1.x 教程,让你的图表动起来
  8. mysql-连接查询
  9. MYSQL 密码相关记录
  10. 解锁新姿势 |如何利用配置中心规范构建PaaS服务配置