手撕算法-二叉树的最大深度

描述:
image.png
分析:
求以节点root为根节点的树的最大深度。可以进行拆分:
root为根节点的树的最大深度 = max(左子树的最大深度, 右子树最大深度)+1

截止条件是节点为空,深度为0;

代码:

    public int maxDepth (TreeNode root) {
        // write code here
        if (root == null) return 0;

        return Math.max(maxDepth(root.left), maxDepth(root.right)) + 1;
    }

image.png

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

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

相关文章

CAN总线协议:过载帧与帧间隔

一. 简介 通过 CAN 总线传输数据是需要按照一定协议进行的。CAN 协议提供了 5 种帧格式来传输数据:数据帧、遥控帧、错误帧、过载帧和帧间隔。 前面几篇文章学习了CAN协议的的三种数据传输格式: CAN总线协议:数据帧-CSDN博客 CAN总线协议…

相聚武汉氢能展_2024武汉国际氢能源及燃料电池产业博览会

相聚武汉氢能展_2024武汉国际氢能源及燃料电池产业博览会 2024武汉国际氢能源及燃料电池产业博览会 2024 Wuhan International Hydrogen Energy and Fuel Cell Industry Expo 同期举办:2024世界汽车制造技术暨智能装备博览会 时间:2024.8.14-16 地…

jmeter之常用函数-第六天

1.常见函数: _counter 计数器函数 TRUE(每个用户都有自己的计数器) FALSE(所有用户共用一个计数器) _Random 随机数函数 参数1:取值范围最小值(包含) 参数2:取值范围最大值(包含) _time 获取当前时间的函数 无参: 获取的是距离 1970/01/01 00:00:00 的毫秒值 参…

【计算机网络】计算机网络概述

文章目录 一、计算机网络的概念二、 计算机网络的功能1. 数据通信2. 资源共享3. 分布式处理4. 提高可靠性5. 负载均衡 补充: 计算机的发展阶段小结三、计算机网络的组成1. 组成部分2. 工作方式3. 功能组成 四、 计算机网络的分类1. 按分布范围2. 按使用者3. 按交换技…

代码随想录day24(2)二叉树:合并二叉树(leetcode617)

题目要求:将两个二叉树合并,要求是将同位置处的两个节点值相加,如果一个为空那就将另一个二叉树的值覆盖。 思路:如果使用迭代法,就是通过层序遍历,通过队列进行判断进行相加。如果使用递归法,…

【史上最全万字mysql进阶语法】

前言: 💞💞大家好,书生♡,今天主要和大家分享一下mysql的进阶语法,数据库的分组/分页/排序/子查询以及详细案例,希望对大家有所帮助。 💞💞前路漫漫,希望大家坚持下去&am…

获取cookie

在Servlet9里设置cookie 在Servlet10里进行获取 访问Servlet9.do,再访问Servlet10.do

没有项目管理经验,可以参加PMP考试?

PMP考试的申请者需要具备项目管理经验,所需的项目管理经验小时数指的是与项目相关的经验,比如参与项目研发、测试、交付、运维、技术支持、售前等。项目经验是一个广义概念,国际上认为几乎所有工作都可以视为项目。 PMP报考条件: …

P2036 [COCI2008-2009 #2] PERKET

如果这是最后一页,在你离开之前,能否让我把故事重写 题目链接:P2036 [COCI2008-2009 #2] PERKET - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 解题思路: dfs模板题,枚举每种调料取和不取,至少选一种调…

【JavaScript】JavaScript 程序流程控制 ② ( 循环流程控制 | 循环要素 - 循环体 / 循环终止条件 | for 循环语法结构 )

文章目录 一、JavaScript 程序流程控制 - 循环流程控制1、循环流程控制2、循环要素 - 循环体 / 循环终止条件3、for 循环语法结构 - 循环控制变量 / 循环终止条件 / 操作表达式4、for 循环 完整代码示例 一、JavaScript 程序流程控制 - 循环流程控制 1、循环流程控制 在 程序开…

数据容器-tuple-Python

师从黑马程序员 列表可以修改,元祖不可以修改 元组的定义和使用 元组的元素类型不受限 #定义元组 t1(1,"Hello",True) t2() t3tuple() print(f"t1的类型是:{type(t1)},内容是:{t1}") print(f"t2的类型是:{type(t2)},内容是:{t2}")…

Macbook m1安装docker详细教程

下载安装包 进入官网 https://www.docker.com/ 下滑找到下载位置 下滑找到Mac对应安装包 等待下载完成即可。 安装 双击打开下载的安装包 将Docker拖到Applications中 安装完成后,找到安装的Docker 双击打开 点击accept同意 进入下面: 点fini…

​selenium+python做web端自动化测试框架与实例详解教程

最近受到万点暴击,由于公司业务出现问题,工作任务没那么繁重,有时间摸索seleniumpython自动化测试,结合网上查到的资料自己编写出适合web自动化测试的框架,由于本人也是刚刚开始学习python,这套自动化框架目…

The service already exists!怎么解决,Windows怎么安装/卸载服务?

问题描述 有时候,我们在Windows系统上安装服务时会遇到报错,The service already exists! 问题分析 这个报错说明此服务已经存在了,所以我们不能再次安装,但有时候我们明明是第一次安装,为什么也会报这个错误呢? 在Windows上注册服务通常需要使用命令行工具或者特定的…

BOM

是浏览器对象 目录 是浏览器对象 BOM概述: Windows常见的对象事件: 窗口加载事件: 传统方式: 新的加载方式: 回调函数: 调整窗口大小事件: 定时器setTimeout: 定时器setInt…

makefile基础与实战编译C++项目

从源码到执行程序 makefile运行流程 :这个符号用于在执行的命令之前,通常会告诉make不要输出命令本身,只输出命令的结果。但是当它位于命令行的开头时,它通常会让Make静默执行该命令,即不在命令行中显示该命令&#xf…

MATLAB环境下基于机器学习的合成数据生成方法

合成数据是通过计算机程序人工生成的数据,而不是由真实事件生成的数据。采用合成数据来增加训练数据,可以节省数据采集费用,或满足隐私要求。随着计算能力的提高和云数据存储选项的崛起,合成数据比以往更容易获取。这无疑是一个积…

大数据信用评分40-60分,大概多久能涨回来?

大数据信用在现如今的贷前风控审核中有着重要的作用,不少人都遇到过申贷被大数据拒贷的情况,其中很多都是因为大数据评分不足,那大数据信用评分40-60分,大概多久能涨回来呢?本文就为大加详细介绍一下涨综合评分的方法和时间&…

C语言例3-25:逗号运算的例子

逗号运算符的优先级&#xff1a; 任何运算符 优先于 逗号运算符&#xff0c;即逗号运算符的优先级是最低的逗号运算符的结合性是从左至右 代码如下&#xff1a; #include<stdio.h> int main(void) {int a0,b1,c,d,e;// printf("c2,d3 的值&#xff1a;%d\n"…

探索极限:利用整数或字符串操作找出翻转后的最大数字

本篇博客会讲解力扣“1323. 6 和 9 组成的最大数字”的解题思路&#xff0c;这是题目链接。 对于这道题目&#xff0c;我会讲解2种解题思路&#xff0c;分别是直接操作整数&#xff0c;和利用字符串操作。希望大家通过本题学习关于整数和字符串的技巧。 显然&#xff0c;这道题…