二叉树的最小深度
来源:互联网 发布:sql分开逗号隔开的值 编辑:程序博客网 时间:2024/06/06 18:42
一.题目描述
给定一个二叉树,找出其最小深度。
二叉树的最小深度为根节点到最近叶子节点的距离。
样例给出一棵如下的二叉树:
1
/ \
2 3
/ \
4 5
这个二叉树的最小深度为 2
与求最大深度的思想差不多,利用递归的方法求两棵子树的深度,比较后返回小的一个+1.
三.实现代码
/** * 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 false; if(root->left==NULL) return minDepth(root->right)+1; if(root->right==NULL) return minDepth(root->left)+1; int leftdepth=minDepth(root->left); int rightdepth=minDepth(root->right); if(leftdepth>rightdepth) return rightdepth+1; else return leftdepth+1; }};
四.感悟
一开始我就直接按照求二叉树最大深度的代码写上了,结果是wrong answer,这道题需要考虑左右子树为空的情况.
0 0
- 二叉树的最小深度
- 二叉树的最小深度
- 二叉树的最小深度
- 二叉树的最小深度
- 二叉树的最小深度
- 二叉树的最小深度
- 二叉树的最小深度
- 二叉树的最小深度
- 二叉树的最小深度
- 二叉树的最小深度
- 二叉树的最小深度
- 二叉树的最小深度
- 二叉树的最小深度
- 二叉树的最小深度
- 二叉树的最小深度
- 二叉树的最小深度
- 二叉树的最小深度
- 二叉树的最小深度
- 【BNUOJ】Borrow Classroom
- 手把手git教程(08)--开发分支常用处理流程
- webstorm实用功能
- 如何获取短信内容
- 特殊矩阵之稀疏矩阵
- 二叉树的最小深度
- ~位图~
- 数位DP入门+hdu 不要62
- 最长递增子序列
- centos6.5安装jdk
- 用tomcat在 intellij idea跑SSM项目,结果发现浏览器上没有项目名
- [A*] 1975: [Sdoi2010]魔法猪学院
- Win10系统没有权限保存Hosts怎么办?
- React Native Linking跨app的通信方法