LeetCode(111) Minimum Depth of Binary Tree
2015-10-18 13:09
316 查看
题目
Given a binary tree, find its minimum depth.The minimum depth is the number of nodes along the shortest path from the root node down to the nearest leaf node.
分析
求二叉树的最小深度:根节点到最近叶子节点的路径长度。同样采用递归的思想:
当根节点为空,返回0;
当根节点为唯一的二叉树节点时,返回1;
否则,求解并返回 最小(非空,保证最终到达叶节点)左右子树深度 + 1;
AC代码
class Solution { public: int minDepth(TreeNode* root) { if (!root) return 0; //独立的根节点 else if (!root->left && !root->right) return 1; else{ int left_depth, right_depth; if (root->left) left_depth = minDepth(root->left); else left_depth = INT_MAX; if (root->right) right_depth = minDepth(root->right); else right_depth = INT_MAX; return min(left_depth, right_depth) + 1; } } };
GitHub测试程序源码
相关文章推荐
- 程序员最喜爱的12个Android应用开发框架二(转)
- LeetCode(111) Minimum Depth of Binary Tree
- 线性表---顺序表
- 简单的JAVA小程序(计算器)
- iOS常见控件设置
- 知识分类
- mysql字符集编码乱码测试如下
- 关于正则表达式的最基本的使用教程
- opensrc good
- Spring基于XML配置的Cache支持
- 重写和重载的区别
- 做一个“有资格”程序猿
- BZOJ1614: [Usaco2007 Jan]Telephone Lines架设电话线
- Smarty运用,赋值数组,定界符冲突
- 匹配中文字符串总结
- diango json
- 关于Java的Daemon线程的理解
- OverScroller类和Scroller类
- 简单选择排序
- (Android+IOS)我们正在做一个新闻App,做几乎一样的,倾听您的建议 (画画)