Leetcode104.求二叉树的最大深度

题目描述

递归法

class Solution {public int maxDepth(TreeNode root) {if (root == null) { //帮助下面的else语句判空return 0;} else {int leftHeight = maxDepth(root.left);int rightHeight = maxDepth(root.right);/*** 要注意的点* 1. 这个return是写在else语句里面的,如果放外面,就访问不到leftHeight了。* 2. Math.max(leftHeight, rightHeight) 是这行代码的关键*/return Math.max(leftHeight, rightHeight) + 1;}}
}

用f代表maxDepth()函数,执行过程解析

f(3)
⇒ max(f(9),f(20))+1
⇒ max( (max(f(null),f(null)+1),   (max(f(15),f(7))+1) ) +1
⇒ max( (max(0,0)+1), (max(f(15),f(7))+1) )  + 1
⇒ max(1, (max(       (max(f(null), f(null)+1), (max(f(null), f(null))+1)      ) +1)) +1
⇒ max(1,(max( (max(0,0)+1),  (max(0,0)+1))+1)) +1
⇒ max(1,(max(1,1)+1))+1
⇒ max(1,2)+1
⇒ 3

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

市场营销新手入门:推荐5本让你快速成长的好书!

我过去面试过数千人,发现了一个非常有趣也让人担忧的现象: 无论是资深还是资浅的市场营销人士,如果被问及什么是市场营销,什么是品牌,什么是整合营销传播,市场营销组合与整合营销传播有什么区别&#xff0…

汽车免拆诊断案例 | 奥迪 Q7 e-tron无法通过插电式充电器充电

故障现象 车主反映,车辆无法使用自带的插电式充电器充电。(这种充电方法是“Mode 2充电”,3针插头,10 A,2.2 kW) 接车后验证故障,将Type 2充电插头连接到车辆时,充电口锁定销循环三…

AD3518 SOP-8封装 单节锂电池保护芯片 可替代XB8608/XB8608A

AD3518 是一款内置 MOSFET 的单节锂电池保护芯片。该芯片具有非常低的功耗和非常低阻抗的内置 MOSFET。该芯片有充电过压,充电过流,放电过压,放电过流,过热,短路,电芯反接等各项保护等功能,确保…

【Superset】dashboard 自定义URL

URL设置 在发布仪表盘(dashboard)后,可以通过修改看板属性中的SLUG等,生成url 举例: http://localhost:8090/superset/dashboard/test/ 参数设置 以下 URL 参数可用于修改仪表板的呈现方式:此处参考了官…

深入了解Rokid UXR2.0 SDK内置的Unity AR Glass开发组件

本文将了解到Rokid AR开发组件 一、RKCameraRig组件1.脚本属性说明2.如何使用 二、PointableUI组件1.脚本属性说明2.如何使用 三、PointableUICurve组件1.脚本属性说明2.如何使用 四、RKInput组件1.脚本属性说明2.如何使用 五、RKHand组件1.脚本属性说明2.如何使用3.如何禁用手…

产品经理和项目经理,有哪些区别和联系?

产品经理和项目经理在项目管理中扮演着不同的角色,它们之间既有区别又有联系。以下是对两者区别和联系的详细分析: 一、区别 1、工作职责 产品经理:主要负责产品的规划、设计、推广和运营,涵盖了整个产品生命周期的管理。他们需…

华为机试HJ106字符逆序

华为机试HJ106字符逆序 题目: 想法: 将输入的字符串倒叙输出即可 input_str input()print(input_str[::-1])

中小企业有必要使用ERP管理系统?

在激烈市场竞争中,企业共同追求的目的都是——降本增效。大型企业运用ERP系统精细化管理,但对成长中的中小企业,传统ERP投入高昂,难达降本增效之效。中小企业更需要适合其需求的解决方案,所以,相比如传统的…

亚马逊关键词优化全攻略:自养号测评让你的产品跃居首页

常常听到亚马逊运营吐槽: 为啥我的产品就是上不了首页呢? 我的关键词要怎么优化才能排名靠前啊? 的确,每天都有无数个卖家在想方设法让自己的产品排到首页,所以产品的竞争激烈程度不言而喻。 我们在亚马逊运营中&a…

夏季缺血性脑卒中高发,并非毫无征兆

夏日炎炎,脑血管疾病进入了高发期,尤其是缺血性脑卒中,其发病率显著上升。许多人误以为这种疾病来得悄无声息,实则不然,缺血性脑卒中在发作前往往有明确的预警信号。 首先,突发性的剧烈头痛、眩晕、肢体麻木…

Navicat Premium 15 for Mac/Win 中文安装包下载

Navicat Premium 15 是一款数据库管理工具,它支持多种类型的数据库,包括 MySQL、MariaDB、MongoDB、SQL Server、Oracle、PostgreSQL 和 SQLite。该软件提供了一个用户友好的图形界面,使得数据库的管理变得更加简单和高效。Navicat Premium 1…

基于Android平台开发,天气预报APP

1.项目功能思维导图 2. 项目涉及到的技术点 数据来源:和风天气API使用okhttp网络请求框架获取api数据使用gson库解析json数据使用RecyclerViewadapter实现未来7天列表展示和天气指数使用PopupMenu 实现弹出选项框使用动画定时器实现欢迎页倒计时和logo动画使用Text…

python入门综合篇—资源爬取与exe打包(图形界面)

了解我的人都知道,我是一个谨言慎行且兴趣爱好广泛的IT,作为一个合格的前端,没事捣鼓一下python很合理吧,再没事搞搞java和php也很合乎逻辑吧,实在没事,玩玩linux服务器也是合乎常理的吧。所以,…

UML类图的概述

新书速览|《UML 2.5基础、建模与设计实践》新书速览|《UML 2.5基础、建模与设计实践 类是对一组具有相同属性、操作、关系和语义的对象的抽象,主要包括名称(Name)部分、属性(Attribute)部分和操作(Operati…

六个Python实用技巧,大幅提升你的编程效率!

关注星标,每天学习Python新技能 Python作为当下最流行的编程语言之一,以其简洁易懂的语法和强大的第三方库支持,深受开发者的喜爱。在实际开发中,掌握一些实用的Python小技巧,可以大大提升编程效率和代码质量。 本文…

windwos下mysql的udf提权

MySql UDF提权介绍 UDF(User Defined Functions)即用户自定义函数,通过这种方式可以实现命令执行,其原理是通过lib_mysqludf_sys提供的函数可以执行系统命令 攻击场景:同之前利用日志写WebShell的场景,即堆叠注入或MySQL终端权限或类似phpMy…

钉钉扫码登录第三方

钉钉文档 实现登录第三方网站 - 钉钉开放平台 (dingtalk.com) html页面 将html放在 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><title>登录</title>// jquery<script src"http://code.jqu…

LeetCode刷题之HOT100之最长递增子序列

2024/7/10 晴&#xff0c;睡眠质量良好&#xff0c;到实验室时间9.18。知了在窗外聒噪&#xff0c;似乎让我安心&#xff0c;静下来。做题吧 1、题目描述 2、算法分析 给一个整数数组&#xff0c;要求出里面最长严格递增子序列的长度。遇到这种问题&#xff0c;想到的就是DP算…

【逆向基础】九、dnSpy使用技巧随记

一、dnSpy逆向工具的使用 1、反汇编适用范围&#xff1a;C#,.NET等语言编写的程序 2、工具的获取&#xff1a;dnSpy (ps:大家可自行去网页搜索下载最新版) 3、打开需要反汇编的程序&#xff0c;成功后出现如图所示的界面 4、dnSpy反汇编.NET程序后&#xff0c;可以像开发一样…

算术运算符用途解析及应用案例

文章目录 常用的算术运算符及其用途&#xff1a;运算符优先级类型转换高级用法 应用案例1. 计算器程序2. 平方根计算3. 计算平均数和标准差4. 货币兑换5. 计算几何6. 动力学模拟7. 数字图像处理8. 金融计算&#xff1a;复利计算 常用的算术运算符及其用途&#xff1a; 算术运算…