111、二叉树的最小深度

给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。

题解:找出最小深度也就是找出根节点相对所有叶子结点的最小高度,在这也表明了根节点的高度是变化的,相对不同的叶子结点有不同的高度。

代码如下:

class Solution {
public:
    int minDepth(TreeNode* root) {
        if(NULL == root) return 0;
        if(NULL == root->left && NULL!= root->right) return 1+minDepth(root->right);
        if(NULL != root->left && NULL== root->right) return 1+minDepth(root->left);
        return 1+min(minDepth(root->left),minDepth(root->right));  
    }
};

注意:

在树形数据结构中,叶子节点(leaf node)是没有子节点的节点。换句话说,叶子节点是树中没有任何子节点的终端节点。

在解题时要注意无左子树或无右子树的情况,若不考虑得到的最小深度必然是1,因为左子树或右子树为NULL时高度为0,那根节点高度必然是1。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/689055.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Python爬取城市空气质量数据

Python爬取城市空气质量数据 一、思路分析1、寻找数据接口2、发送请求3、解析数据4、保存数据二、完整代码一、思路分析 目标数据所在的网站是天气后报网站,网址为:www.tianqihoubao.com,需要采集武汉市近十年每天的空气质量数据。先看一下爬取后的数据情况: 1、寻找数据…

视频会议开发:为什么必须使用显卡GPU解码渲染视频?

现在,使用视频会议系统远程协同办公、沟通交流,已经非常普遍了。如果我们要开发自己的视频会议系统,那么,GPU解码渲染技术是不可缺少的。 在视频会议系统中,经常需要同时观看会议中多个参会人员的视频图像,…

ALSA 用例配置

ALSA 用例配置。参考 ALSA 用例配置 来了解更详细信息。 ALSA 用例配置 用例配置文件使用 配置文件 语法来定义静态配置树。该树在运行时根据配置树中的条件和动态变量进行评估(修改)。使用 用例接口 API 解析结果并将其导出到应用程序。 配置目录和主…

LeetCode1143最长公共子序列

题目描述 给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 ,返回 0 。一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符&#xff08…

贪心算法-数组跳跃游戏(mid)

目录 一、问题描述 二、解题思路 1.回溯法 2.贪心算法 三、代码实现 1.回溯法实现 2.贪心算法实现 四、刷题链接 一、问题描述 二、解题思路 1.回溯法 使用递归的方式,找到所有可能的走步方式,并记录递归深度(也就是走步次数&#x…

Vue3_对接腾讯云COS_大文件分片上传和下载

目录 一、腾讯云后台配置 二、安装SDK 1.script 引入方式 2.webpack 引入方式 三、文件上传 1.new COS 实例 2.上传文件 四、文件下载 腾讯云官方文档: 腾讯云官方文档https://cloud.tencent.com/document/product/436/11459 一、腾讯云后台配置 1.登录 对…

成都跃享未来教育咨询有限公司,值得信赖!

在浩渺的教育咨询市场中,成都跃享未来教育咨询有限公司以其独特的魅力和卓越的服务质量,成为了行业内的璀璨明星。作为一家致力于为学生提供全方位教育咨询服务的公司,成都跃享未来教育咨询有限公司始终坚持安全可靠的原则,为广大…

【vue2新增页面跳转列表页,当前页面不会刷新问题,有效果的点个赞嗷】

文章目录 概要案例解决方法小结 概要 开发中遇到的罕有需求,一般来说切换路由页面就会重新渲染,相应接口也会自动刷新。但是有些需求新增页面是走路由的,关闭心中页会关闭当前面包屑,返回上一个,所以这时候由于之前列…

Proxyman 现代直观的 HTTP 调试代理应用程序

Proxyman 是一款现代而直观的 HTTP 调试代理应用程序,它的功能强大,使您可以轻松捕获、检查和操作 HTTP(s) 流量。不再让繁杂的网络调试工具阻碍您的工作,使用 Proxyman,您将轻松应对网络调试的挑战。 下载地址:https…

Allure在jenkins中无法显示的问题

jenkins中使用allure生成报告需要注意工作环境和路径的配置 前提条件: jenkins容器中已安装jdk和allure jenkins中配置全局工具环境: 项目中配置allure路径: 路径来源: Path需要选择相对路径的allure-report、allure-results

Mintegral解析休闲游戏如何靠创意素材吸引玩家

核心玩法简单清晰、容易让人无限上头的休闲游戏,玩法机制一般比较明确、简单,如果要在短时间内吸引玩家注意,除了完整展示游戏流程以外,开发者需要在素材中设置更多亮点性的内容,如吸睛的剧情、爆炸性的视听效果等元素…

033.搜索旋转排序数组

题意 整数数组 nums 按升序排列&#xff0c;数组中的值 互不相同 。 在传递给方法之前&#xff0c;nums 在预先未知的某个下标 k(0 < k < nums.length)上进行了旋转&#xff0c;使数组变为 [nums[k], nums[k1], ..., nums[n-1], nums[0], nums[1], ..., nums[k-1]]&…

暴雨推出基于英特尔® 至强® 6 能效核处理服务器

随着人工智能技术的快速发展&#xff0c;大模型的应用越来越广泛。据预测&#xff0c;到2024年年底&#xff0c;我国将有5%-8%的企业大模型参数从千亿级跃升至万亿级&#xff0c;算力需求增速将达到320%&#xff0c;这进一步推动了数据中心的持续变革。 超凡性能&#xff0c;绿…

WebGIS常用技术体系记录

1、数据下载 &#xff08;1&#xff09;OSM下载开源矢量数据&#xff0c;数据较全&#xff0c;但是质量一般&#xff1b; &#xff08;2&#xff09;地理空间数据云下载DEM影像&#xff1b; &#xff08;3&#xff09;datav下载行政区 http://datav.aliyun.com/tools/atlas/…

《十八岁出门远行》世界很小,案牍劳形;世界很大,日短心长

《十八岁出门远行》世界很小&#xff0c;案牍劳形&#xff1b;世界很大&#xff0c;日短心长 余华&#xff0c;作家&#xff0c;著有《在细雨中呼喊》《活着》《文城》《兄弟》等。 文章目录 《十八岁出门远行》世界很小&#xff0c;案牍劳形&#xff1b;世界很大&#xff0c;日…

黄金票据~

一. 黄金票据原理 黄金票据一般是伪造的TGT,生成这个TGT&#xff0c;不需要和KDC进行校验&#xff0c;金票可以在本地直接生成&#xff0c;生成的的金票在非域机器和域内机器都可以使用 黄金票据的作用&#xff1a; 可以用来权限维持 可以用来横向移动二. 利用条件 1. 必须…

C++基础与深度解析 | 类与面向对象编程 | 数据成员 | 成员函数 | 访问限定符与友元 | 构造、析构成员函数 | 字面值类、成员指针与bind交互

文章目录 一、结构体与对象聚合二、成员函数&#xff08;方法&#xff09;三、访问限定符与友元1.访问限定符2.友元&#xff08;慎用&#xff09; 四、构造、析构与复制成员函数1.构造函数2.析构函数3.补充 五、字面值类&#xff0c;成员指针与bind交互1.字面值类2.成员指针3.b…

【小白专用 已验证24.6.7】C# MySQL数据库访问操作封装类

一、底层库介绍 本文主要介绍数据库访问操作类&#xff0c;包含&#xff1a;SQL插入脚本、SQL查询脚本、数据库表是否存在判断、带参脚本执行、包含事务回滚脚本执行、存储过程脚本等等。 特殊说明 在使用之前&#xff0c;先安装 MySql.Data 插件 二、底层库源码 2.1 程序源…

android antirollback verno 获取方法

ReadRollbackIndex.exe 获取 调查avbVBMeta结构体 typedef struct AvbVBMetaImageHeader { /* 0: Four bytes equal to "AVB0" (AVB_MAGIC). */ uint8_t magic[AVB_MAGIC_LEN]; /* 4: The major version of libavb required for this header. */ uint32_t…

Linux shell编程学习笔记53: nproc命令:当前进程可以使用 cpu的数量

0 前言 2024年的网络安全检查又开始了&#xff0c;对于使用基于Linux的国产电脑&#xff0c;我们可以编写一个脚本来收集系统的有关信息。对于中央处理器CPU&#xff0c;我们可以使用cat /proc/cpuinfo和 lscpu命令来收集中央处理器CPU的信息&#xff0c;如果我们只想了解和获…