104、二叉树的最大深度

给定一个二叉树 root ,返回其最大深度。

二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。   

题解:所谓深度,就是树中某节点距离根节点的距离,如图中根节点3的深度为1,那节点7的深度为3,所谓高度,就是树中某节点距离末端叶子结点的距离,如图中7的高度为1,则节点3的高度为3,。有了这个认识,那么二叉树中的最大深度其实也就是根节点的高度。

递归三部曲:

确定递归函数的参数和返回值;

确定终止条件;

确定单层递归的逻辑;

代码如下:

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

注意:

虽然知道每递归一次,高度就要+1(注意此时其实计算的是根节点的高度,因为是从递到末端节点才归来逐渐加1),要注意这个1要怎么加,要与递归相联系才能累加。

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

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

相关文章

Go select 语句使用场景

1. select介绍 select 是 Go 语言中的一种控制结构,用于在多个通信操作中选择一个可执行的操作。它可以协调多个 channel 的读写操作,使得我们能够在多个 channel 中进行非阻塞的数据传输、同步和控制。 基本语法: select {case communica…

【js】input设置focus()不生效

实现功能:点击添加文章标签的时候,输入框聚焦。 页面上,input输入框默认不显示,是display:none; 点击添加按钮后,input输入框才显示。 在js里面直接获取元素进行设置聚焦不成功 。 ∵ focus方法比show方法先执行。j…

自考搜题网?5个大学生必备的搜题 #其他#其他#媒体

在大学生的学习过程中,遇到难题和疑惑是常有的事情。然而,随着互联网的普及和技术的发展,搜题和学习软件成为了大学生们解决问题的利器。今天,我将向大家推荐几款备受大学生喜爱的搜题和学习软件,帮助我们更好地应对学…

系统架构设计师【第19章】: 大数据架构设计理论与实践 (核心总结)

文章目录 19.1 传统数据处理系统存在的问题19.2 大数据处理系统架构分析19.2.1 大数据处理系统面临挑战19.2.2 大数据处理系统架构特征 19.3 Lambda架构19.3.1 Lambda架构对大数据处理系统的理解19.3.2 Lambda架构应用场景19.3.3 Lambda架构介绍19.3.4  Lambda架构的实…

推荐一款AI音乐生成工具和一款浏览器

大家好,今天给大家带来2款软件,一款是移动浏览器,一款是AI音乐生成软件。 Alook Alook是一款移动端浏览器,它以其独特的无广告、无推送、无新闻的"三无"特性,为用户提供了一个清爽的上网环境。Alook不仅界…

惠海 H5528 升降压芯片 12V24V36V48V60V75V LED恒流驱动IC 调光细腻顺滑无阶梯感

惠海H5528是一款升压、降压、升压降压的LED恒流驱动IC,其具备宽范围调光比且无频闪调光的特性,使得它在智能照明、Dali调光、0~10V调光、摄影灯照明以及补光灯照明等多种应用中具有广泛的应用前景。 这款芯片支持降压、升压和升降压拓扑的应用&#xff0…

elementui Menu 二级菜单 min-width修改无效

原因:可能是生成的二级菜单样式里面没有带特定的hash属性 而vue代码里面样式里带了 scoped生成的样式有改样式选择器 从而无法成功选择 解决:让样式可以全局选择 不带属性选择器 单文件组件 CSS 功能 | Vue.js :global(.el-menu--vertical .el-menu--p…

CCF-GESP 等级考试 2023年9月认证C++四级真题解析

一、单选题(每题2分,共30分) 第 1 题 ⼈们所使⽤的⼿机上安装的App通常指的是( )。 A. ⼀款操作系统B. ⼀款应⽤软件C. ⼀种通话设备D. 以上都不对 正确答案:B. ⼀款应⽤软件 解析:App是"…

CSS实现3个圆点加载动画

加载动画主要使用了css的animation和transform属性&#xff0c;animation用来实现动画效果&#xff0c;transform实现过渡&#xff0c;让动画看起来更真实 一、html <div class"loadding-box"><div class"dot1"></div><div class&qu…

神经网络 torch.nn---Convolution Layers

torch.nn — PyTorch 2.3 documentation torch.nn - PyTorch中文文档 (pytorch-cn.readthedocs.io) torch.nn和torch.nn.functional的区别 torch.nn是对torch.nn.functional的一个封装&#xff0c;让使用torch.nn.functional里面的包的时候更加方便 torch.nn包含了torch.nn.…

Promed Bioscience—高纯度胶原蛋白

Promed Bioscience——高纯度胶原蛋白供应商 专于研发&#xff0c;忠于质量&#xff0c;创新驱动 AXXORA 作为Enzo life sciences公司的子公司&#xff0c;是欧美最大的生命科学研究信息、服务、销售电子一站式服务平台之一&#xff0c;AXXORA精选欧洲四十多家优秀的生命科学研…

2.Rust自动生成文件解析

目录 一、生成目录解析二、生成文件解析2.1 Cargo.toml2.2 main函数解析 一、生成目录解析 先使用cargo clean命令删除所有生成的文件&#xff0c;下图显示了目录结构和 main.rs文件 使用cargo new testrust时自动创建出名为testrust的Rust项目。内部主要包含一个src的源码文…

问题:歌剧序曲是用什么曲式写成? #学习方法#其他#经验分享

问题&#xff1a;歌剧序曲是用什么曲式写成&#xff1f; A、贝多芬 B、海顿 C、肖邦 D、莫扎特 参考答案如图所示

AI重塑搜索和浏览器,360打造AIPC轻量化方案

6月6日&#xff0c;360AI新品发布会暨开发者沟通会在京举办&#xff0c;360集团发布全新360AI搜索、360AI浏览器&#xff0c;360集团创始人周鸿祎在现场使用360AI搜索为2024年高考语文作文押题。同时&#xff0c;“360AI甄选”平台及会员体系“360AI大会员”正式上线&#xff0…

S3Dlib | 太炫酷!所有3D图形它都可以绘制...

前言 一、「s3dlib」-Python中王炸3D绘图神器 二、可视化学习圈子是干什么的&#xff1f; 三、系统学习可视化 四、猜你喜欢 前言 我们的数据可视化课程已经上线啦&#xff01;&#xff01;目前课程的主要方向是 科研、统计、地理相关的学术性图形绘制方法&#xff0c;后续…

【论文速读】| BIOCODER:一个具有上下文实用知识的生物信息学代码生成基准测试

本次分享论文&#xff1a;BIOCODER: A Benchmark for Bioinformatics Code Generation with Contextual Pragmatic Knowledge 基本信息 原文作者&#xff1a;Xiangru Tang, Bill Qian, Rick Gao, Jiakang Chen, Xinyun Chen, Mark Gerstein 作者单位&#xff1a;耶鲁大学, Go…

【SpringBoot + Vue 尚庭公寓实战】租期管理接口实现(四)

【SpringBoot Vue 尚庭公寓实战】租期管理接口实现&#xff08;四&#xff09; 文章目录 【SpringBoot Vue 尚庭公寓实战】租期管理接口实现&#xff08;四&#xff09;1、查询全部租期列表2、保存或更新租期信息3、根据ID删除租期 租期管理共有三个接口&#xff0c;分别是 保…

HDFS的块汇报和块放置策略--从一次HDFS写文件故障开始(WIP)

文章目录 前言事故分析&#xff1a;代码解析BlockReport的调度和时机哪些Block会进行FBR或者IBRIBR所选定的BlockFBR所选定的Block 块放置策略详解之在上层寻找机器为文件添加块的基本流程块放置策略&#xff1a;选择机器为每个副本逐个寻找机器在指定范围内随机寻找简单看一下…

如何学习使用淘宝API?淘宝API运营场景

学习使用淘宝API涉及对其功能、分类、调用方法及实际应用的综合理解。下面按部分详细解释如何系统地学习和掌握淘宝API的使用&#xff1a; 淘宝API接口入门 了解淘宝开放平台&#xff1a;淘宝开放平台为开发者提供了一个可以与淘宝数据进行交互的平台&#xff0c;涵盖了丰富的A…

在当前页面拿到抽屉弹窗页面中从后端返回的值 #Vue3 #两个.vue页面之间传值问题

在当前页面拿到抽屉弹窗页面中从后端返回的值 #Vue3 #两个.vue页面之间传值问题 *解决方法一&#xff1a; 将抽屉弹窗里从后端返回得到的值缓存在浏览器中&#xff0c;在当前页面中从浏览器中获取该值。 &#xff08;原理其实就是借助第三个盒子来传递一下值&#xff0c;太小学…