//树除了 递归 还有 循环 左右比较
class Solution {public:int minDepth(TreeNode* root) {queue<TreeNode*> temq1;queue<TreeNode*> temq2;if(root == nullptr) return 0;int count =1;temq1.push(root);TreeNode* temq = nullptr;while(!temq1.empty()){while(!temq1.empty()){temq = temq1.front();if(temq->left == nullptr && temq->right == nullptr) return count;if(temq->left != nullptr) temq2.push(temq->left);if(temq->right != nullptr) temq2.push(temq->right);temq1.pop();}count++;// 重新赋值temq1while(!temq2.empty()){temq1.push(temq2.front());temq2.pop();}}return count;}
};// 递归 深度 nullptr 0  lert&& right == null 1 min,max(left,right) + n
#include <algorithm>
using namespace std;
class Solution {public:int minDepth(TreeNode* root) {if (root == NULL)return 0;if(root->left == NULL && root->right == NULL)return 1;int leftDepth = INT_MAX;int rightDepth = INT_MAX;if(root->left != NULL)leftDepth = minDepth(root->left);if(root->right !=NULL)rightDepth = minDepth(root->right);return min(leftDepth,rightDepth) +1;}
};

49 - 算法 - Leetcode-111 -二叉树的最小深度 -递归循环相关推荐

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

最新文章

  1. 遵循互联网架构“八荣八耻”,解析EWS高质量架构6个维度的20个能力
  2. hdu4046 不错的线段树单点更新
  3. Flask-hello程序
  4. [转]JS日期选择控件
  5. Nacos(六)之Spring Boot集成
  6. easyExcel实现Excel导出功能
  7. laravel mysql like_3分钟短文|Laravel 使用like匹配字符串的用法示例
  8. [INet] WebSocket 数据收发的详细过程
  9. 最新CCC认证目录范围(2019)
  10. linux服务器怎么拷贝文件,linux 服务器之间拷贝文件
  11. 跳跃表(skiplist )详解及其C++编程实现
  12. ps图标长投影如何做?
  13. 如何导入支付宝的SDK及其模拟使用
  14. Word标题序号变成黑块
  15. 北京图灵学院 Python(02)
  16. 老总让做后台接口监控,我却开发了一个App
  17. C++ 跳跃游戏II
  18. 奥鹏教师计算机培训总结,奥鹏信息技术应用能力提升培训总结交流
  19. java用面向对象写吃货联盟,火星车(面向对象思想编程)
  20. uxtheme.h内容

热门文章

  1. java 上传图片后没法立马显示出来_SpringMVC多个文件上传及上传后立即显示图片功能...
  2. 使用echarts(四)定时刷新图表
  3. mysql workbench 存储过程_MySQL Workbench创建存储过程教程示例
  4. linux 丢包多少正常_干货总结!Linux运维故障排查思路
  5. 计算机网络二级考试类型,二级计算机考试大纲
  6. aliyun maven 添加jar_Maven介绍及安装
  7. kbhit linux windows通用,linux模拟windows的kbhit
  8. git 怎么拉取线上代码到本地进行合并_android studio如何使用git提交、拉取、合并代码的操作...
  9. python delete_rows,Python:如何刪除以特定字符結尾的行?
  10. java 动态数据源切换,Java+Spring+MyBatis实现多数据源的动态切换