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 = ...
随机推荐
- SDIO接口WIFI&BT之相关常备知识
SDIO接口WIFI&BT之相关常备知识 <VBAT>:>Main Power Voltage Soure Input 主电源输入(SDIO WIFI目前知道的都是 ...
- java post格式发送application/x-www-form-urlencoded
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import org.apache.http.*; ...
- selenium爬取PDF预览文件
python selenium 爬取某网站的pdf预览文件,下载图片转换pdf 参考链接:https://blog.csdn.net/weixin_44740756/article/details/1 ...
- Fortran笔记 派生类型-整理版
以下为整理后的笔记,英文原文 Introduction to Modern Fortran for the Earth System Sciences, 英文翻译 https://www.cnblog ...
- c基础-Makefile
Makefile gcc 测试c编译流程.c->.i->.s->.o->可执行程序 # a.c->a.i->a.s->a.o->a# .i 文件生成 - ...
- SQL Server【提高】事务
事务 事务是作为单个逻辑单元执行的一系列操作,它是一个不可分割的工作逻辑单元.它包含了一组数据库操作命令,这组命令要么全部执行,要么全部不执行. 特性 原子性Atomicity 事务是一个完整的操作, ...
- Python学习:Mysql(三)索引
1.索引 索引是表的目录,在查找内容之前可以先在目录中查找索引位置,以此快速定位查询数据.对于索引,会保存在额外的文件中. 2.索引种类 普通索引:仅加速查询 唯一索引:加速查询 + 列值唯一(可以有 ...
- Finance财务软件(如何运行该软件)
下载软件 首先,去gitHub下载该项目的release,尽量下载最新版本:https://github.com/edwardorchis/finance/releases.国内也可以在码云下载htt ...
- PI ID关联IR配置问题
例如问题:无数据 1.软件组织生成的id与ID配置id不一致(由于删除软件组织重新创建) 1.1找到需要修改位置 1.2 IR查询id 1.3 替换指定需要插入'-'
- [资料] 设计原理图资料保存:FMC210-1路1Gsps AD、1路2.5Gsps DA的FMC子卡解决方案
FMC210-1路1Gsps AD.1路2.5Gsps DA的FMC子卡 一.板卡概述 FMC-1AD2DA是北京太速科技自主研发的一款1路1G AD采集.1路2.5G DA回放的FMC子卡.板卡采用 ...