LeetCode 之 111. 二叉树的最小深度
思路:
递归计算每个子树的深度,返回左右子树中深度小的值;
由于题目中要求的是到最近叶子节点的深度,所以需要判断 左右子树为空的情况;
python/python3:
class Solution(object):
def minDepth(self, root):
"""
:type root: TreeNode
:rtype: int
"""
if root:
if not root.left and root.right:
return 1 + self.minDepth(root.right)
elif not root.right and root.left:
return 1 + self.minDepth(root.left)
else:
return min(self.minDepth(root.left), self.minDepth(root.right)) + 1
else:
return 0
C++:
class Solution {
public:
int minDepth(TreeNode* root) {
if(root == NULL){
return 0;
}
else{
if(root->left == NULL && root->right != NULL){
return 1 + minDepth(root->right);
}
else if(root->right == NULL && root->left != NULL){
return 1 + minDepth(root->left);
}
else{
return min(minDepth(root->left), minDepth(root->right)) + 1;
}
}
}
};
LeetCode 之 111. 二叉树的最小深度的更多相关文章
- 【LeetCode】111. 二叉树的最小深度
111. 二叉树的最小深度 知识点:二叉树,递归 题目描述 给定一个二叉树,找出其最小深度. 最小深度是从根节点到最近叶子节点的最短路径上的节点数量. 说明:叶子节点是指没有子节点的节点. 示例 输入 ...
- LeetCode【111. 二叉树的最小深度】
最小深度,看起来很简单,就是左右节点的深度最小值 定义一个函数,计算其深度 class Solution { public int minDepth(TreeNode root) { if(root ...
- Java实现 LeetCode 111 二叉树的最小深度
111. 二叉树的最小深度 给定一个二叉树,找出其最小深度. 最小深度是从根节点到最近叶子节点的最短路径上的节点数量. 说明: 叶子节点是指没有子节点的节点. 示例: 给定二叉树 [3,9,20,nu ...
- leetcode 111. 二叉树的最小深度
题目描述: 给定一个二叉树,找出其最小深度. 最小深度是从根节点到最近叶子节点的最短路径上的节点数量. 说明: 叶子节点是指没有子节点的节点. 示例: 给定二叉树 [3,9,20,null,null, ...
- [LeetCode 111] - 二叉树的最小深度 (Minimum Depth of Binary Tree)
问题 给出一棵二叉树,找出它的最小深度. 最小深度是指从根节点沿着最短路径下降到最近的叶子节点所经过的节点数. 初始思路 不难看出又是一个需要层次遍历二叉树的题目,只要在112基础上作出简单修改即可得 ...
- 每日一题-——LeetCode(111)二叉树的最小深度
题目描述: 给定一个二叉树,找出其最小深度. 最小深度是从根节点到最近叶子节点的最短路径上的节点数量. 思路一: 把每一层的结点加入到队列,每一层i+1,到下一层时,把上一层在队列中的结点都弹出,按从 ...
- leetcode 111二叉树的最小深度
使用深度优先搜索:时间复杂度O(n),空间复杂度O(logn) /** * Definition for a binary tree node. * struct TreeNode { * int v ...
- Leecode刷题之旅-C语言/python-111二叉树的最小深度
/* * @lc app=leetcode.cn id=111 lang=c * * [111] 二叉树的最小深度 * * https://leetcode-cn.com/problems/minim ...
- [LeetCode] Minimum Depth of Binary Tree 二叉树的最小深度
Given a binary tree, find its minimum depth. The minimum depth is the number of nodes along the shor ...
- LeetCode 二叉树的最小深度
计算二叉树的最小深度.最小深度定义为从root到叶子节点的最小路径. public class Solution { public int run(TreeNode root) { if(root = ...
随机推荐
- windos下激活python虚拟环境
1.从终端中找到解释器的目录 2.cd到Scripts,输入激活命令activate 这样就表示激活成功了
- Prettier 与 ESLint 对函数名后空格的处理
问题 Prettier 格式化 JavaScript 代码之后,默认不会在函数与 () 添加空格,而 ESLint 默认情况下则要求函数与 () 之间必须有一个空格. 保留空格的方案配置 方案 1 在 ...
- [Oracle19C 数据库管理] 配置数据库审计
以下内容未经整理 占位 强制审计:无法关闭此审计,比如记录数据库的开启和关闭. 标准审计: 基于值得审计:创建触发器,基于值进行记录.Trigger占用资源多 细粒度审计:加一些where条件,针对触 ...
- 一些开源软件的LOGO
整理一些开源软件的logo或者吉祥物,主要是一些以动物形象为主的logo. 1. GNU,不是一个软件,而是一个软件组织,包括很多知名的软件例如GCC编译器. GNU的LOGO是一只牛. GCC的lo ...
- xen虚拟化技术完全导读_pdf
链接:https://pan.baidu.com/s/1W3qTgj8ygkdiz7nln802Xw 提取码:g9k3
- 字符串散列成GUID
https://stackoverflow.com/questions/2190890/how-can-i-generate-a-guid-for-a-string
- SQL Server性能优化
源代码文件 1,什么是性能问题? 现有资源没有达到最大吞吐量的前提下,系统不能满足合理的预期表现,则可以定义为有性能问题.性能指标包括:响应时间,吞吐量,可扩展性. 2,初探优化 2.1优化论 一般遇 ...
- 微信小程序学习记录
尺寸单位 rpx 常常以iphone6为开发基准, 1px = 2rpx,不同设备的比例是不同的: 小程序生命周期 和vue的生命周期很相似,不过小程序的生命周期和页面.组件的生命周期又又一点不一样 ...
- 在子组件中使用$parent获取不到父组件里的变量值?
一直用的都是this.$parent来取父组件的值,现在发现,element-UI内的组件,也是一层父组件 例如 父组件内 子组件内 console.log 打印结果
- vue 打开页面触发事件
vue中created(),mounted()与activated()区别及应用 created():在创建vue对象时,当html渲染之前就触发:但是注意,全局vue.js不强制刷新或者重启时只创建 ...