当前位置: 首页 > news >正文

剑指 Offer 55 - I. 二叉树的深度(java解题)

剑指 Offer 55 - I. 二叉树的深度(java解题)

  • 1. 题目
  • 2. 解题思路
  • 3. 数据类型功能函数总结
  • 4. java代码

1. 题目

输入一棵二叉树的根节点,求该树的深度。从根节点到叶节点依次经过的节点(含根、叶节点)形成树的一条路径,最长路径的长度为树的深度。

例如:

给定二叉树 [3,9,20,null,null,15,7],

    3/ \9  20/  \15   7

返回它的最大深度 3 。

提示:

节点总数 <= 10000

作者:Krahets
链接:https://leetcode.cn/leetbook/read/illustration-of-algorithm/9hgr5i/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

2. 解题思路

求解深度的问题可以考虑使用递归求解,对于每一个节点,最大深度等于1+max{左子树最大深度,右子树最大深度}

3. 数据类型功能函数总结

//求最大值
Math.max(int a,int b);

4. java代码

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode(int x) { val = x; }* }*/
class Solution {public int maxDepth(TreeNode root) {if(root==null){return 0;}else{return 1+Math.max(maxDepth(root.left),maxDepth(root.right));}}
}

相关文章:

剑指 Offer 55 - I. 二叉树的深度(java解题)

剑指 Offer 55 - I. 二叉树的深度&#xff08;java解题&#xff09;1. 题目2. 解题思路3. 数据类型功能函数总结4. java代码1. 题目 输入一棵二叉树的根节点&#xff0c;求该树的深度。从根节点到叶节点依次经过的节点&#xff08;含根、叶节点&#xff09;形成树的一条路径&a…...

威胁行为者将旧漏洞武器化以发起勒索软件攻击

勒索软件运营商比以往任何时候都更加依赖未打补丁的系统来获得对受害者网络的初始访问权限。 一份新报告显示&#xff0c;攻击者正在互联网和暗网中积极搜索可用于勒索软件攻击的旧漏洞和已知漏洞。 其中许多缺陷已存在多年&#xff0c;对尚未修补或更新易受攻击系统的组织构…...

2023北京健博会/第十届中国国际大健康产博览会

China-DJK北京健博会&#xff0c;立足北京打造国内外大健康产业快速融合发展平台&#xff1b; 大健康时代&#xff1a;20年前没有健康产业&#xff0c;如今健康产业成了全球经济中唯“不缩水”的行业&#xff0c;早已被国际经济学界确定为“无限广阔的兆亿产业”。据机构数据&…...

Python学习笔记之环境搭建

Python学习笔记之环境搭建1. 下载Python2. Windows 安装最新Python3. Linux 安装最新PythonPython是一种编程语言&#xff0c;可以让您更快地工作并更有效地集成系统。 您可以学习使用Python&#xff0c;并立即看到生产力的提高和维护成本的降低。 Python是荷兰程序员吉多范罗苏…...

死锁的总结

哲学家死锁造成的原因&#xff1a;我有你需要的&#xff0c;但你已经有了 饥饿与死锁的区别 死锁一旦发生一定又饥饿现象&#xff0c;但是饥饿现象产生不一定是死锁 历史上对于死锁的声音 死锁的方案 前面两个都是不允许死锁出现 前面都是概念性的东西 后面我们研究如何破坏…...

强化学习RL 01~ 数学基础

目录 RL理解要点 1. RL数学基础 1.1 Random Variable 随机变量 1.2 概率密度函数 Probability Density Function(PDF) 1.3 期望 Expectation 1.4 随机抽样 Random Sampling 2. RL术语 Terminologies 2.1 agent、state 和 action 2.2 策略 policy π 2.3 奖励 reward …...

Java的运算符

目录 一、什么是运算符 二、算术运算符 1. 基本四则运算符&#xff1a;加减乘除模&#xff08; - * / %&#xff09; 2、增量运算符 - * % 3. 自增/自减运算符 -- 三、关系运算符 四、 逻辑运算符(重点) 1. 逻辑与 && 2. 逻辑或 || 3. 逻辑非 ! 4. 短路求值…...

扫地机器人(蓝桥杯C/C++)

题目描述 小明公司的办公区有一条长长的走廊&#xff0c;由 NN 个方格区域组成&#xff0c;如下图所示。 走廊内部署了 KK 台扫地机器人&#xff0c;其中第 ii 台在第 A_iAi​ 个方格区域中。已知扫地机器人每分钟可以移动到左右相邻的方格中&#xff0c;并将该区域清扫干净。…...

如何理解API?API 是如何工作的?(5分钟诠释)

大家可能最近经常听到 API 这个概念&#xff0c;那什么是API&#xff0c;它又有什么特点和好处呢&#xff1f; wiki 百科镇楼 …[APIs are] a set of subroutine definitions, protocols, and tools for building application software. In general terms, it’s a set of cle…...

PAT--1111 对称日

央视新闻发了一条微博&#xff0c;指出 2020 年有个罕见的“对称日”&#xff0c;即 2020 年 2 月 2 日&#xff0c;按照 年年年年月月日日 格式组成的字符串 20200202 是完全对称的。 给定任意一个日期&#xff0c;本题就请你写程序判断一下&#xff0c;这是不是一个对称日&a…...

前端纯函数和副作用概念,且在react上的体现详解

什么是纯函数 纯函数是这样一种函数&#xff0c;即相同的输入&#xff0c;永远会得到相同的输出的函数&#xff0c;而且没有任何可观察的副作用。 什么是副作用 副作用是在计算结果的过程中&#xff0c;系统状态的一种变化&#xff0c;或者与外部世界进行的可观察的交互。 个…...

转行软件测试3年了,听前辈说测试前途是IT里最low的,我慌了......

互联网行业的技术岗位一般分为研发、测试和运维&#xff0c;虽然前些年测试一直都不如研发岗位那么吃香。但现在随着国内对软件测试的重视&#xff0c;我国互联网企业对软件测试的需求在未来还将继续增大。听起来软件测试的就业形势一片大好&#xff0c;那么到底软件测试的发展…...

CNI 网络流量 5.1 Cilium 介绍和原理

文章目录简介安装组件和原理Cilium-agent初始化IPAMCNICilium cli 的使用bpfMap 的操作Cilium-agentEbpf简介 Cilium 是一个用于容器网络领域的开源项目&#xff0c;主要是面向容器而使用&#xff0c;用于提供并透明地保护应用程序工作负载&#xff08;如应用程序容器或进程&a…...

机加行业MES解决方案,助力企业打造数字化透明车间

机械加工行业的主要原材料占整个生产物料成本的95%~99%&#xff0c;以挖掘机为例&#xff0c;原材料有各种规格的钢板、焊丝、焊条、油漆以及各种气体等&#xff0c;其中主要原材料是钢板&#xff0c;占原材料比率的98%以上。 因此机械加工mes的原材料管理是机械加工行业信息化…...

C/C++每日一练(20230227)

目录 1. 按要求排序数组 ★ 2. Z 字形变换 ★★ 3. 下一个排列 ★★ 1. 按要求排序数组 给你一个整数数组 arr 。请你将数组中的元素按照其二进制表示中&#xff0c;数字 1 的数目升序排序。 如果存在多个数字二进制中 1 的数目相同&#xff0c;则必须将它们按照数值大小…...

总结SpringBoot1.x迁移到2.x需要注意的问题

SpringBoot1.x和SpringBoot2.x版本差异化还是比较大的&#xff0c;有些三方依赖组件有些是基于2.0版本为标准升级的&#xff0c;当我们将项目由1.0升级到2.0时会出现依赖的方法不存在或方法错误&#xff0c;需要逐个去调整&#xff0c;下面总结了我们升级实践过程中遇到的一些问…...

Api接口小知识

应用程序接口API&#xff08;Application Programming Interface&#xff09;,是提供特定业务输出能力、连接不同系统的一种约定。这里包括外部系统与提供服务的系统&#xff08;中控系统&#xff09;或者后台不同的系统之间的交互点。包括外部接口、内部接口、内部接口有包括&…...

「JVM 高效并发」Java 协程

Java 语言抽象和隐藏了各种操作系统线程差异性的接口&#xff0c;这曾经是它区别于其他编程语言的一大优势&#xff0c;但在某些场景下&#xff0c;却已经出现了疲态&#xff1b; 文章目录1. 内核线程的局限2. 协程的复苏3. Java 的解决方案1. 内核线程的局限 在微服务架构中&…...

Web Spider案例 网洛者 第一题 JS混淆加密 - 反hook操作 练习(五)

文章目录一、资源推荐二、第一题 JS混淆加密 - 反hook操作2.1 过控制台反调试(debugger)2.2 开始逆向分析三、python具体实现代码四、记录一下&#xff0c;execjs调用混淆JS报错的问题总结提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 一、资源推荐 …...

前端基础之CSS扫盲

文章目录一. CSS基本规范1. 基本语法格式2. 在HTML引入CSS3. 选择器分类二. CSS常用属性1. 文本属性2. 文本格式3. 背景属性4. 圆角矩形和圆5. 元素的显示模式6. CSS盒子模型7. 弹性布局光使用HTML来写一个前端页面的话其实只是写了一个大体的框架, 整体的页面并不工整美观, 而…...

mysql组复制、mysql路由器、mysql的MHA高可用

文章目录前言一、mysql组复制1.实验机配置2.测试二、mysql路由器三、mysql之MHA高可用1.MHA概念1.创建一主两从集群2.MHA部署3.故障切换前言 一、mysql组复制 1.实验机配置 server1配置 首先停止数据库 [rootserver1 mysql]# /etc/init.d/mysqld stop Shutting down MySQL..…...

一篇搞懂springboot多数据源

好文推荐 https://zhuanlan.zhihu.com/p/563949762 mybatis 配置多数据源 参考文章 https://blog.csdn.net/qq_38353700/article/details/118583828 使用mybatis配置多数据源我接触过的有两种方式&#xff0c;一种是通过java config的方式手动配置两个数据源&#xff0c;…...

Verilog 数据类型和数组简介

在这篇文章将讨论 verilog 中最常用的数据类型&#xff0c;包括对数据表示&#xff0c;线网类型、变量类型&#xff0c;向量类型和数组的讨论。尽管 verilog 被认为是一种弱类型语言&#xff08;loosely typed&#xff09;&#xff0c;但设计者仍必须在 Verilog 设计中为每个端…...

【数据结构】时间复杂度和空间复杂度以及相关OJ题的详解分析

​ ​&#x1f4dd;个人主页&#xff1a;Sherry的成长之路 &#x1f3e0;学习社区&#xff1a;Sherry的成长之路&#xff08;个人社区&#xff09; &#x1f4d6;专栏链接&#xff1a;数据结构 &#x1f3af;长路漫漫浩浩&#xff0c;万事皆有期待 文章目录1.算法效率1.1 如何衡…...

31--Vue-前端开发-Vue语法

一、前端-Vue介绍 1.前端介绍 1、HTML(5)、CSS(3)、JavaScript(ES5、ES6):编写一个个的页面 ----> 给后端(PHP、Python、Go、Java) ----> 后端嵌入模板语法 ----> 后端渲染完数据 ----> 返回数据给前端 ----> 在浏览器中查看 2、Ajax的出现 -> 后台发送异…...

这份IC设计必读书单,值得所有IC设计工程师一看!

《综合与时序分析的设计约束》 作者&#xff1a;Sridhar Gangadharan 本书为集成电路时序约束设计的指南&#xff0c;指导读者通过指定的时序要求&#xff0c;充分发挥IC设计的性能。本书内容包括受时序约束的关键环节的设计流程、综合时序分析、静态时序分析和布局布线等。本书…...

Acwing 蓝桥杯 第一章 递归与递推

我上周在干什么&#xff0c;感觉我上周啥也没训&#xff0c;本来两天一次的vp也没v很寄啊&#xff0c;再这样下去真不行了先总结一下如何爆搜&#xff1a;先去确定好枚举的对象枚举的对象很重要&#xff01;&#xff01;这直接影响了复杂度然后就是去想递归树就好了一、确定状态…...

模型部署笔记

目录模型部署工作ONNX存在的意义ONNX&#xff08;Open Neural Network Exchange&#xff09;ONNX示例模型推理示例Batch调整量化量化方式常见问题模型部署工作 训练好的模型在特定软硬件平台下推理针对硬件优化和加速的推理代码 训练设备平台&#xff1a; CPU、GPU、DSP ONN…...

多线程之wait和notify

目录 1.wait()方法 2. notify方法 因为线程之间是抢占式执行的&#xff0c;所以线程之间执行的先后顺序难以预知。但是实际开发中&#xff0c;我们希望线程之间的执行顺序是能被掌控的&#xff0c;比如线程2开始之前&#xff0c;需要线程1的某个任务先被执行。也就是说,很多时…...

MVCC 当前读 快照读 RC read view RR下事务更新不会丢失

MVCC(multi-version-concurrent-control) MVCC是行锁的一个变种&#xff0c;但MVCC在很多情况下它避免了加锁。不是buffer块&#xff0c;而是buffer中的记录行。 MVCC (Multi-Version Concurrency Control) (注&#xff1a;与MVCC相对的&#xff0c;是基于锁的并发控制&#x…...

易语言用电脑做网站服务器/网络营销的种类有哪些

stringstr1 Process.GetCurrentProcess().MainModule.FileName; //可获得当前执行的exe的文件名。 stringstr2Environment.CurrentDirectory; //获取和设置当前目录&#xff08;即该进程从中启动的目录&#xff09;的完全限定路径。 //备注 按照定义&…...

wordpress 中英文网站/公司网站建站要多少钱

题目 有n个村&#xff0c;m条路&#xff0c;给n-1条路刷油漆连接n个村&#xff0c;让最长边与最短边的长度差最小。 输入输出&#xff08;建议跳过&#xff09; Input 第一行给出一个数字TOT&#xff0c;代表有多少组数据,Tot<6 对于每组数据&#xff0c;首先给出N&#xf…...

网站备案的幕布是什么意思/企业网络搭建

//main.c //include基本概念//include是预处理指令&#xff0c;翻译之前会替换&#xff0c;编译之前左的处理&#xff0c;#都是预处理指令&#xff0c;翻译时候会添加别的内容进来。#include <stdio.h> // #是预编译指令&#xff0c;告诉系统printf函数是存在的, 告诉系统…...

网站制作公司哪儿济南兴田德润有活动吗/seo在线工具

题目链接 第一个差分约束的题目。看了好多的博客&#xff0c;差分约束就是根据不等式建好图&#xff0c;然后求最短路或者最长路即可&#xff0c;很明显建图是关键。 这个题的题意是&#xff0c;给很多的区间&#xff0c;每个区间上至少ci个数&#xff0c;问最这些数最少有多少…...

教育咨询网站模板/优化网站seo方案

本文实例讲述了Python实现将16进制字符串转化为ascii字符的方法。分享给大家供大家参考&#xff0c;具体如下&#xff1a; 字符串456e633064316e675f31735f66336e&#xff0c;通过Python&#xff0c;按照两个字符&#xff0c;例如45,6e,63形式变成ascii码格式&#xff0c;输出a…...

区块链网站怎么做/培训教育机构

2019独角兽企业重金招聘Python工程师标准>>> yum clean metadata yum clean dbcache yum makecache 转载于:https://my.oschina.net/u/2009816/blog/864641...