leedcode二叉树的最小深度与最大深度

【Python LeetCode 专题】热题 100,重在思路 包含 普通数组、矩阵、链表、子串、栈、堆、哈希表、双指针、滑动窗口、链表、回溯、贪心、图论 阅读详情

一、最小深度

     二叉树的最小深度为根节点到最近叶子的距离。

(1)空树直接返回false;

(2)只有一个根节点,返回深度1;

(3)单分支情况:

左子树为空,返回右子树的最大值+1;右子树为空,返回左子树的最大值+1;

(4)双分支情况:

返回左右子树的最小值+1.

class Solution {
public:
    int run(TreeNode *root) {
        if(root == NULL) return false;
        if(root->left== NULL && root->right == NULL) return 1;
        int leftnum = run(root->left);
        int rightnum = run(root->right);
        if(leftnum == 0) return rightnum+1;
        else if(rightnum == 0) return leftnum+1;
        else return min(leftnum,rightnum)+1;
    }
};

二、最大深度

     二叉树的最大深度为根节点到最远叶子的距离。

(1)空树返回0;

(2)只有一个根节点返回1;

(3)其他返回最有子树的最大值+1.

int maxDepth(TreeNode *root) {
    if(root == NULL)
        return 0;
    int leftnum = maxDepth(root->left);
    int rightnum = maxDepth(root->right);
    return leftnum > rightnum ? (leftnum + 1) : (rightnum + 1);
}



开发者的避坑指南:在Apple Silicon Mac上构建RocketMQ Python客户端的完整心路历程 本文详细记录了在Apple Silicon Mac上构建RocketMQ Python客户端的完整过程,重点解决了架构兼容性问题。通过源码编译rocketmq-client-cpp库,修复构建脚本和CMake配置,最终成功在M2芯片MacBook Pro上部署RocketMQ Python客户端,为开发者提供了实用的避坑指南。 阅读详情

相关推荐

为什么你的ESXI无法识别移动硬盘?一步步教你解决USB存储挂载问题

本文深入解析了ESXi无法识别移动硬盘的根本原因,并提供了从诊断到解决的完整方案。核心在于理解ESXi的USB Arbitrator服务机制,通过检查服务状态、内核设备识别及分区表,逐步定位问题。文章详细指导了如何禁用USB仲裁服务以在主机挂载USB存储,或将其直通给虚拟机,并针对大容量硬盘、USB 3.0兼容性等进阶问题给出了实用建议。

qq_27496129的博客 332

二叉树(六):二叉树的最大深度与最小深度

一、二叉树的最大深度 二叉树的最大深度 二叉树的最大深度可以通过递归法,层次遍历和深度优先遍历实现,但是最简单最容易的就是递归法。 1、递归法 1)确定递归三要素 递归函数的返回值和参数:返回值为当前节点的最大深度,参数为当前节点 递归函数的单层逻辑:当前节点的最大深度 = 1 + 左子树或右子树的最大深度 递归函数的终止条件:当前节点为空时,当前节点最大深度为0 2)递归方法代码 class Solution { public: //递归参数及返回值 int maxDepth(Tre

qq_42138662的博客 9093

Swift Package Manager (SPM) 创建并集成本地库

Swift Package Manager (SPM) 在macOS 项目中创建并集成的完整步骤

征战无悔人生 1423

Intel深度摄像头RealSense D435(实感双目摄像头)和目标检测结合使用

文章目录:1 RealSense D435摄像头介绍1.1 D435外观及内部构造1.2 D435的参数规格1.3 D435应用2 RealSense D435摄像头的使用2.1 使用D435读取摄像头RGB和深度图3 使用D435做目标检测和距离测量 1 RealSense D435摄像头介绍 英特尔® 实感™ D435 在我们推出的所有摄像头中视场最大,深度传感器上配置全局快门,是快速移动应用的理想选择。 1.1 D435外观及内部构造 1、外观 2、内部构造 1.2 D435的参数规格 1、使

求真、务实 2万+

新手必看:Infineon Memtools烧录配置全流程(附常见错误解决方案)

本文为嵌入式开发新手提供了Infineon AURIX开发环境搭建与Memtools烧录的全流程实战指南。详细解析了ADS、DAS和Memtools三大核心工具的角色与协同关系,并重点讲解了Memtools的图形界面配置步骤、烧录操作流程,以及针对“无法连接设备”、“编程失败”等常见错误的系统性排查与解决方案,帮助开发者快速上手并规避典型陷阱。

weixin_29189377的博客 634

Apache Hop集成Spring Boot实战:从配置到执行HPL文件

本文详细介绍了将Apache Hop集成到Spring Boot应用中的完整实战方案。通过配置核心依赖、初始化Hop环境、编写服务层逻辑,实现了在Java应用中程序化执行HPL管道文件,从而将可视化ETL能力无缝嵌入微服务架构,提升数据处理的自动化与可维护性。

blue42的博客 476

二叉树最小深度,最大深度,完全二叉树结点数

确定单层递归的逻辑:先求它的左子树的深度,再求右子树的深度,最后取左右深度最大的数值 再+1 (加1是因为算上当前中间节点)就是目前节点为根节点的树的深度。确定单层递归的逻辑:先求它的左子树的深度,再求右子树的深度,最后取左右深度最大的数值 再+1 (加1是因为算上当前中间节点)就是目前节点为根节点的树的深度。确定单层递归的逻辑:先求它的左子树的节点数量,再求右子树的节点数量,最后取总和再加一 (加1是因为算上当前中间节点)就是目前节点为根节点的节点数量。

2302_77168608的博客 1350

C# 工业视觉性能极致优化:多线程推理池 + 对象复用 + 批量检测,速度提升 10 倍实战

set;} // 输入图像set;} // 异步返回结果set;} // 用于监控延迟性能优化不是魔法,而是对资源生命周期的精细管理和对硬件特性的充分利用。多线程池解决了 CPU/GPU 闲置问题。对象池解决了 GC 停顿问题。零拷贝解决了总线带宽瓶颈。严格的 Dispose解决了内存泄漏问题。这套架构已在多个高速锂电、3C 电子检测产线落地,轻松应对 200ms 甚至 50ms 的严苛节拍。记住,在工业领域,稳定性与速度同等重要。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 304

39-求二叉树的最小深度和最大深度

问题描述 给定一个二叉树,找出其最小深度和最大深度。 二叉树的最小深度为根节点到最近叶子节点的距离。 二叉树的最大深度为根节点到最远叶子结点的距离   给出一棵如下的二叉树: 1 / \ 2 3 / \ 4 5 这个二叉树的最小深度为 2,最大深度为3 解题思路 一定要注意定义,比如下面这棵树的最小深度...

qiki_糖没味儿的程序媛小屋 1070

05GATK流程和找变异

05GATK流程和找变异 GATK 集合了一套功能全面的高通量测序数据基因组分析工具包,算是业界的权威,更新的速度非常快。需要注意的是,不同版本的 GATK 在工具应用上会有些许不同。这里我们使用是最新版本 GATK 4.1.4.1(截止2019年12月31日)。 数据准备 前面我们提到了,走GATK流程需要到官网下载很多数据库文件,比如下面这些: dbsnp_146.hg38.vcf.gz dbsnp_146.hg38.vcf.gz.tbi Mills_and_1000G_gold_standard.

qq_23435961的博客 1660

18、Excel VBA编程:自定义函数创建与代码调试全攻略

本文详细介绍了Excel VBA中自定义函数的创建方法,以获取单元格注释为例演示了完整开发流程,并深入讲解了代码调试的重要性与核心工具。内容涵盖三种主要错误类型及其应对策略,系统介绍了调试工具栏、断点、逐行执行、Locals窗口、Immediate窗口等实用功能。通过综合案例展示了如何运用调试技术解决实际问题,并总结了提前规划、逐步测试、日志记录等最佳实践,帮助读者提升VBA编程效率与代码质量。

life6的博客 100

Day16——二叉树的最大深度、二叉树的最小深度、完全二叉树的节点个数

今日文案:人生总会有不期而遇的温暖和生生不息的希望,前提是你必须足够去努力,才不会错过美丽的风景和动人的故事,早安~

m0_72503424的博客 596

YOLO26全新改进 | 最全损失函数改进篇 | SIoU 、WIoU、GIoU、DIoU、EIOU、CIoU, InnerIoU、InnerSIoU、InnerWIoU、FocusIoU等损失函数

🔥本文详细介绍了如何修改YOLO26中的损失函数。首先提供了完整的损失函数核心代码,包括WIoU_Scale类和各种IoU计算方法。然后分三步指导修改:1)替换metrics.py中的bbox_iou方法;2)修改loss.py中的iou计算代码;3)更新tal.py中的相关代码。文中特别强调了修改损失函数应在模型结构调整后使用,并提供了多种IoU损失函数的参数配置建议,包括SIoU、WIoU、GIoU等,可根据实际需求灵活选择搭配使用。

Ai缝合怪、助力小伙伴高效发论文 450

Day16:LeedCode 104.二叉树的最大深度 111.二叉树最小深度 222.完全二叉树的结点个数

2.完全二叉树不为满二叉树,但是其左子树或者右子树为满二叉树 ,满二叉树可以直接用公式计算结点个数,对于非满二叉树结点总数=左子树结点总数+右结点总数+1。的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。当左右结点都不为空时: length=1+Math.min(minDepth(root.left),minDepth(root.right))思路:根结点最大深度=max(左子树最大深度,右子树最大深度)+1。

2301_76352996的博客 445

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

二叉树 --- leedcode 111 二叉树的最小深度

题目 给定一个二叉树,找出其最小深度。 最小深度是从根节点到最近叶子节点的最短路径上的节点数量。 说明: 叶子节点是指没有子节点的节点。 示例: 给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回它的最小深度 2 解答 与求树的最大深度不一样的是:要考虑节点只有左节点或者右节点的情况。 v...

小柒的前端之旅 236

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Leedcode1-求树的最小高度

#include<iostream> #include<algorithm> #include<queue> using namespace std; //5种情况:空树;没有子树;只有左/右子树;有俩子树; struct BinaryNode { BinaryNode *left; BinaryNode *right; int data; }; s...

weixin_38383877的博客 406

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Leedcode题目总结-TREE-求深度问题

Leedcode 二叉树最大深度和最小深度求解

awq520tt1314的博客 394

leedcode 算法刷题第十二天

解题思路:递归方法,不断循环放入子树,交换子树节点,注意边界值,if(root==nullptr){解题思路:每次当节点为空返回0,在返回值那里没回退一层就++,最后为总层数。解题思路,就是递归判断,同时注意边界条件。太难了,回头在理解理解。

ckdmcsa的博客 223

leetCode - - - 二叉树

理解树的基本结构和操作是解决这些问题的关键。通过熟悉递归和迭代的实现方式,能够在不同问题中选择合适的解决方案。此外,注意边界条件和节点关系的处理,能够提高解题的准确性和效率。

weixin_67793092的博客 2015

Amber-Leedcode-Java-代码随想录打卡第十五天 |● 层序遍历 10 ● 226.翻转二叉树 ● 101.对称二叉树

层序遍历待更新。

avery66666的博客 445

11道精选经典LeetCode例题让你彻底搞懂二叉树的广度优先遍历

8.填充每个节点的下一个右侧节点指针||7.填充每个节点的下一个右侧节点指针。//DFS 深度优先遍历。2.二叉树的层序遍历||6.在每个树行找最大值。10.二叉树的最小深度。4.二叉树的层平均值。5.n叉树的层数遍历。9.二叉树的最大深度。

2401_89630637的博客 495

leetcode二叉树相关题型python实现

leetcode经典二叉树题型python实现

weixin_41777118的博客 149

LeetCode每日学习计划

LeetCode Hot100刷题计划(11•18更新) 11•1 078子集(1+1+2+4•••) 11•2 617合并二叉树(二叉树遇事不决就递归) 461汉明距离(暴力字符串遍历) 11•3 338比特位计数(暴力字符串遍历;奇偶数规律) 226翻转二叉树(二叉树遇事不决就递归,利用temp临时储存结点) 11•4 046全排列(回溯法,栈,标记...

kelett551的博客 488

LeetCode 前150题中关于树的题目汇总

LeetCode 中,关于树的题目汇总: python实现,力求用最简洁的代码完成,有解题思路和代码,不定时更新补充 目前范围:Leetcode前150题 144.二叉树的先序遍历(python):递归+迭代 https://blog.youkuaiyun.com/Turbo_Come/article/details/104582933 97. 二叉树的中序遍历(python):递...

Turbo_Come的博客 486

LeetCode算法题整理(200题左右)

Leetcode

qq_38253797的博客 1万+

【leetcode】力扣刷题笔记 持续更新中 (python3 版本)

一起刷编程题啊~~~~~ 冲

哒哒哒哒 哒哒 5372
上一篇: 类型转换的四个关键字
下一篇: leedcode逆波兰表达式
ZH_learningblog
博客等级 码龄10年 22粉丝 40原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值