二叉树深度(最大和最小)
来源:互联网 发布:巨人网络手游官网注册 编辑:程序博客网 时间:2024/05/19 14:16
/**最大深度 * Definition for a binary tree node. * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * }; */int maxDepth(struct TreeNode* root) { if (!root) return 0; //空树返回0 int lh = maxDepth(root->left); int rh = maxDepth(root->right); return lh > rh ? lh + 1 : rh + 1; }
二叉树类的问题都会考虑采用递归的方式进行求解,因为二叉树本身就是递归定义的。
//最小深度
int minDepth(TreeNode *root) { if (!root) return 0; int hl = minDepth(root->left); int hr = minDepth(root->right); if (!hl) return hr + 1; if (!hr) return hl + 1; return hl < hr ? hl + 1 : hr + 1; }
最小深度: 从根节点开始到叶子节点结束的最短路径上的节点数。采用递归方案的解法:
1. 空树最小深度是0.
2. 左子树空: 右子树最小深度+ 1
3. 右子树空: 左子树最小深度 + 1
4. min(左子树最小深度,右子树最小深度) + 1
0 0
- 二叉树深度(最大和最小)
- 二叉树最大深度和最小深度
- 二叉树最大深度和最小深度
- 二叉树的最大深度和最小深度
- 二叉树的最大深度和最小深度实现
- 二叉树最大 最小深度
- 二叉树 最大最小深度
- 二叉树(创建、遍历、树的最大深度和最小深度)
- 二叉树的最大深度 & 二叉树的最小深度
- 二叉树的最大深度 & 二叉树的最小深度
- 二叉树的最大最小深度
- 求二叉树的最大深度和最小深度以及之间的差
- 二叉树最大深度最小深度之微妙区别
- 二叉树的最大深度与最小深度
- 二叉树的最大深度与最小深度
- leedcode二叉树的最小深度与最大深度
- 二叉树的最大深度与最小深度
- LeetCode—二叉树的最大最小深度
- 运维学习的第三天
- ajax解析Java传来的json文本中反斜杠(\)问题
- Linux 使用本地yum源及软件包管理
- 研究生周报(第一次)2016/10/10-2016/10/14
- typedef和define的作用域
- 二叉树深度(最大和最小)
- UWA 发布| MMO移动游戏性能分析报告:渲染、UI、逻辑代码和内存需重点关注
- ADO方式创建Excel连接
- 本地yum安装
- slowhttptest初体验
- 前端 构建工具 Gulp和 Grunt、npm
- Linux 配置iso系统盘为本地yum源
- Python pandas 0.19.1 Intro to Data Structures 数据结构介绍 文档翻译
- java后期绑定(动态绑定)