二叉树的最小深度
来源:互联网 发布:yum 安装lnmp 编辑:程序博客网 时间:2024/04/30 11:49
题目:
给定一个二叉树,找出其最小深度。
给出一棵如下的二叉树:
1
/ \
2 3
/ \
4 5
这个二叉树的最小深度为 2
思路:
开始以为和求最大深度似的一只去深度最小,后来想想不对。要处理节点的左子树是空或者右字树是空的情况,而且每次处理的方式相同,提示我运用递归的思想。如果左子树空,root移动到右子数,同时要加一,右子数相同。都不为空就取小值加一返回。
代码:
class Solution {
public:
/**
* @param root: The root of binary tree.
* @return: An integer
*/
int minDepth(TreeNode *root) {
// write your code here
if(root==NULL) return 0;
if(root->left==NULL)
return minDepth(root->right)+1;
if(root->right==NULL)
return minDepth(root->left)+1;
int l=minDepth(root->left);
int r=minDepth(root->right);
int m=min(l,r)+1;
return m;
}
};
感想:
考虑问题还是非常不全面,十分欠缺处理特殊情况的能力。
- 二叉树的最小深度
- 二叉树的最小深度
- 二叉树的最小深度
- 二叉树的最小深度
- 二叉树的最小深度
- 二叉树的最小深度
- 二叉树的最小深度
- 二叉树的最小深度
- 二叉树的最小深度
- 二叉树的最小深度
- 二叉树的最小深度
- 二叉树的最小深度
- 二叉树的最小深度
- 二叉树的最小深度
- 二叉树的最小深度
- 二叉树的最小深度
- 二叉树的最小深度
- 二叉树的最小深度
- 前端项目优化
- 数据库学习第七课
- 【Linux】Linux下实现一个简单的进度条程序
- 欢迎使用CSDN-markdown编辑器
- 创建 和删除新的数据库
- 二叉树的最小深度
- 元素宽高以百分比设置时的大小相对谁来确定
- Windows网络编程之Winsock 编程接口实验
- 主从数据库配置实战
- 如何高效率的学习新技术
- Mybatis中updateByPrimaryKeySelective和updateByPrimaryKey区别
- java获得上月日期问题Calendar类
- hbuilder+mui+h5+全套500节视频课程文档源码资料等等
- VC++网络资源集合