leetcode 111. 二叉树的最小深度
2024-10-20 03:18:57
题目描述:
给定一个二叉树,找出其最小深度。
最小深度是从根节点到最近叶子节点的最短路径上的节点数量。
说明: 叶子节点是指没有子节点的节点。
示例:
给定二叉树 [3,9,20,null,null,15,7],
3
/ \
9 20
/ \
15 7
返回它的最小深度 2.
思路分析:
一开始的思路是直接求二叉树的最小深度,后来发现题目限定了必须是到叶结点的路径长度最短。所以需要判断当前结点是否是叶结点。判断若左子树为空,则返回右子树的到叶子结点的最短路径;否则返回左子树到叶结点的最短路径。
代码:
/**
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* TreeNode *left;
* TreeNode *right;
* TreeNode(int x) : val(x), left(NULL), right(NULL) {}
* };
*/
class Solution {
public:
int height(TreeNode* root)
{
if(root == nullptr)
return ;
if(root->left==nullptr)
return height(root->right)+;
if(root->right == nullptr)
return height(root->left)+;
int l = height(root->left);
int r = height(root->right);
return min(l,r)+;
}
int minDepth(TreeNode* root) {
if(root == nullptr)
return ;
return height(root);
}
};
最新文章
- python习题 (1):login
- CentOS6.5上Oracle11gR2静默安装
- kinect driver install (ubuntu 14.04 &; ros-indigo)
- sys.dm_db_wait_stats
- Python for Informatics 第11章 正则表达式三(译)
- unity 脚本(自定义组件)的事件触发关系
- Codeforces Round #188 (Div. 2) A. Even Odds 水题
- HTML标签<;b>;与<;strong>;以及<;i>;与<;em>;的区别
- 时空分割的画面--用xcode命令行回忆turbo c
- 百度地图点聚合MarkerClusterer,性能优化
- 字符串查找算法总结(暴力匹配、KMP 算法、Boyer-Moore 算法和 Sunday 算法)
- find的用法
- Navicat连接报错:cannot load OCI DLL,126
- 浅析Unity中的Enlighten与混合光照
- GeoJSON C#判断某一点是否在某一区域范围之内
- thinkPHP5扩展workerman
- 跨站请求伪造 | ajax
- Robot Framework - 3 - 测试库API
- LeetCode算法题-Add Binary(Java实现)
- css瀏覽器私有前綴名
热门文章
- MVC+Ninject+三层架构+代码生成 -- 总结(六、邏輯層)
- 初识Markdown
- 为什么改了JS数组中的一个元素的值,其他数组元素值都跟着变了
- 华为方舟编译器 下载 和 LiteOS Studio Setup 2019-04-16.exe SDK下载
- error LNK2019: 无法解析的外部符号 _Direct3DCreate9@4,该符号在函数 "long __cdecl InitD3D(struct HWND__ *)" (?InitD3D
- 6 Linux用户和用户组管理
- logger(二)logback简介及其实现原理
- python打印带颜色字体
- SSH Weak Encryption Algorithms Supported
- 【Spring Cloud】Spring Cloud之自定义@SpringCloudProfile注解实现@Profile注解的功能