leedcode二叉树的最小深度与最大深度
来源:互联网 发布:禁止软件发送短信 编辑:程序博客网 时间:2024/05/06 20:36
一、最小深度
二叉树的最小深度为根节点到最近叶子的距离。
(1)空树直接返回false;
(2)只有一个根节点,返回深度1;
(3)单分支情况:
左子树为空,返回右子树的最大值+1;右子树为空,返回左子树的最大值+1;
(4)双分支情况:
返回左右子树的最小值+1.
class Solution {public: int run(TreeNode *root) { if(root == NULL) return false; if(root->left== NULL && root->right == NULL) return 1; int leftnum = run(root->left); int rightnum = run(root->right); if(leftnum == 0) return rightnum+1; else if(rightnum == 0) return leftnum+1; else return min(leftnum,rightnum)+1; }};
二、最大深度
二叉树的最大深度为根节点到最远叶子的距离。
(1)空树返回0;
(2)只有一个根节点返回1;
(3)其他返回最有子树的最大值+1.
int maxDepth(TreeNode *root) { if(root == NULL) return 0; int leftnum = maxDepth(root->left); int rightnum = maxDepth(root->right); return leftnum > rightnum ? (leftnum + 1) : (rightnum + 1);}
0 0
- leedcode二叉树的最小深度与最大深度
- 二叉树的最大深度与最小深度
- 二叉树的最大深度与最小深度
- 二叉树的最大深度与最小深度
- 二叉树的最大深度 & 二叉树的最小深度
- 二叉树的最大深度 & 二叉树的最小深度
- 二叉树的最大最小深度
- 二叉树最大深度和最小深度
- 二叉树最大深度和最小深度
- 二叉树最大 最小深度
- 二叉树 最大最小深度
- 二叉树的最大深度和最小深度
- 二叉树的最大深度和最小深度实现
- 二叉树深度(最大和最小)
- python_lintcode_97二叉树的最大深度 _155二叉树的最小深度
- LeetCode—二叉树的最大最小深度
- 二叉树最大深度最小深度之微妙区别
- 二叉树的最小深度
- 前端控制器(dispatcherServlet)Servlet初始化异常
- Android Studio2.0 教程从入门到精通Windows版
- POJ 3669
- 第五届蓝桥杯圆周率
- 使用Gradle发布项目到JCenter仓库
- leedcode二叉树的最小深度与最大深度
- JavaSE 学习参考:匿名内部类和匿名对象
- 正则表达式总结
- SOA演进到微服务
- java线程池
- Windows下快速搭建Python开发环境
- L1-005. 考试座位号
- Ural1297 最长回文子串(后缀数组+RMQ)
- Android超好用的图片加载框架