二叉树的最小深度
来源:互联网 发布:手机编写c语言的软件 编辑:程序博客网 时间:2024/04/30 18:11
1、问题描述
给定一个二叉树,找出其最小深度。二叉树的最小深度为根节点到最近叶子节点的距离。样例:给出一棵如下的二叉树:
1
/ \
2 3
/ \
4 5
这个二叉树的最小深度为 2
2、实现思路
如果无根节点,深度为0;只有根节点,深度为1;依次遍历每一颗子树,记录深度,比较得最小深度。
3、代码
/**
* Definition of TreeNode:
* class TreeNode {
* public:
* int val;
* TreeNode *left, *right;
* TreeNode(int val) {
* this->val = val;
* this->left = this->right = NULL;
* }
* }
*/
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&&root->right==NULL) return 1;
int leftDepth=minDepth(root->left)+1;
if(leftDepth==1) leftDepth=10000;
else leftDepth=leftDepth;
int rightDepth = minDepth(root -> right)+1;
if(rightDepth == 1) rightDepth=10000;
else rightDepth=rightDepth;
if(leftDepth<rightDepth) return leftDepth;
else return rightDepth;
}
};
4、感想
注意题目要求是从根节点到叶子节点的最小深度,若此路径深度为1,即只有根节点,不能作为最小深度,赋予其一个很大的数,不能影响深度的比较。
- 二叉树的最小深度
- 二叉树的最小深度
- 二叉树的最小深度
- 二叉树的最小深度
- 二叉树的最小深度
- 二叉树的最小深度
- 二叉树的最小深度
- 二叉树的最小深度
- 二叉树的最小深度
- 二叉树的最小深度
- 二叉树的最小深度
- 二叉树的最小深度
- 二叉树的最小深度
- 二叉树的最小深度
- 二叉树的最小深度
- 二叉树的最小深度
- 二叉树的最小深度
- 二叉树的最小深度
- caffe源码剖析(一)--整体目录结构
- 有序数组的二分查找
- 关于框架的一些问题
- Java基础回顾
- maven环境搭建
- 二叉树的最小深度
- hdu2045
- 高精度加法
- 机器学习&数据挖掘笔记(常见面试之机器学习算法思想简单梳理)
- 三种常见的替代损失函数
- append()方法和html()方法的区别
- MODIS数据的简介和下载(二)——MODIS数据下载方式(FTP)
- CSS元素分类
- c++ 继承