二叉树-104.二叉树的最大深度-力扣(LeetCode)
一、题目解析
这里需要注意根节点的深度是1,也就是说计算深度的是从1开始计算的
二、算法原理
解法1:广度搜索,使用队列
解法2:深度搜索,使用递归
当计算出左子树的深度l,与右子树的深度r时,总的深度为max(l,r)+1
当root == nullptr时,返回0,此时该节点递归返回的值是1,然后依次返回
先递归我们的左树, 此时根节点为B,B在递归,左树为空,右树也为空,此时B树的深度为max(0,0)+1=1,然后B树递归完,继续递归右树C,C为根节点继续递归,C的左树D继续递归,D的左右子树为空,D递归结果为1返回,C的右树为空返回0,此时C树的深度为max(1,0)+1=2,C的深度为2,A的深度为B,C子树的最大值加1,所以最终递归结果为3。
在递归时,需要我们自己去画递归展开图去体会递归的过程,这里受限于篇幅原因,将递归展开图压缩了。
三、代码示例
class Solution {
public:int maxDepth(TreeNode* root) {if(root == nullptr) return 0;return max(maxDepth(root->left),maxDepth(root->right))+1; }
};
代码很简短,但重要的是了解递归展开的逻辑,明白为啥这样能得出正确答案。
看到最后,如果对您有所帮助,还请点赞、收藏和关注,点点关注不迷路,我们下期再见!
相关文章:

二叉树-104.二叉树的最大深度-力扣(LeetCode)
一、题目解析 这里需要注意根节点的深度是1,也就是说计算深度的是从1开始计算的 二、算法原理 解法1:广度搜索,使用队列 解法2:深度搜索,使用递归 当计算出左子树的深度l,与右子树的深度r时,…...

物料转运人形机器人适合应用于那些行业?解锁千行百业的智慧物流革命
当传统物流设备困于固定轨道,当人力搬运遭遇效率与安全的天花板,物料转运人形机器人正以颠覆性姿态重塑产业边界。富唯智能凭借GRID大模型驱动的"感知-决策-执行"闭环系统,让物料流转从机械输送升级为智慧调度——这不仅是工具的革…...
k8s开发webhook使用certmanager生成证书
1.创建 Issuer apiVersion: cert-manager.io/v1 kind: Issuer metadata:name: selfsigned-issuernamespace: default spec:selfSigned: {}2.Certificate(自动生成 TLS 证书) apiVersion: cert-manager.io/v1 kind: Certificate metadata:name: webhook…...

时序预测模型测试总结
0.背景描述 公司最近需要在仿真平台上增加一些AI功能,针对于时序数据,想到的肯定是时序数据处理模型,典型的就两大类:LSTM 和 tranformer 。查阅文献,找到一篇中石化安全工程研究院有限公司的文章,题目为《…...

第四十五天打卡
知识点回顾: tensorboard的发展历史和原理 tensorboard的常见操作 tensorboard在cifar上的实战:MLP和CNN模型 效果展示如下,很适合拿去组会汇报撑页数: 作业:对resnet18在cifar10上采用微调策略下,用tensor…...

springboot mysql/mariadb迁移成oceanbase
前言:项目架构为 springbootmybatis-plusmysql 1.部署oceanbase服务 2.springboot项目引入oceanbase依赖(即ob驱动) ps:删除原有的mysql/mariadb依赖 <dependency> <groupId>com.oceanbase</groupId> …...

npm install 报错:npm error: ...node_modules\deasync npm error command failed
npm install 时报错如下: 首先尝试更换node版本,当前node版本20.15.0,更换node版本为16.17.0。再次执行npm install安装成功...

Filebeat收集nginx日志到elasticsearch,最终在kibana做展示(二)
EFK 项目需求是要将 一天或15分钟内 搜索引擎抓取网站次数做个统计,并且 如 200 301 404 状态码 也要区分出来, 访问 404 报错的 url 也要截取出来 前期 收集数据 看这篇文章,点击跳转 收集数据完成之后,使用下面方法做展示 创建一个 仪表…...

halcon c# 自带examples报错 Matching
最近开始学习halcon与C#的联合编程,打开Matching例程时遇到了下面的问题 “System.TypeInitializationException”类型的未经处理的异常在 halcondotnet.dll 中发生 “HalconDotNet.HHandleBase”的类型初始值设定项引发异常。 System.TypeInitializationExceptio…...

服务器重启后配置丢失怎么办?
服务器重启后配置丢失是一个常见问题,特别是在云服务器或容器环境中,若未正确保存或持久化配置,系统重启后就会恢复默认状态。下面是问题分析 解决方案: 🧠 一、常见原因分析 原因描述❌ 配置保存在临时目录如 /tmp、…...
Postgresql常用函数操作
目录 一、字符串函数 二、数学函数 三、日期和时间函数 四、条件表达式函数 五、类型转换函数 六、聚合函数 (常与 GROUP BY 一起使用) 重要提示 PostgreSQL 提供了极其丰富的内置函数,用于操作和处理数据。以下是一些最常用的函数分类和示例: 一…...
用 NGINX 搭建高效 IMAP 代理`ngx_mail_imap_module`
一、模块定位与作用 协议代理 ngx_mail_imap_module 使 NGINX 能在 IMAP 层面充当反向代理,客户端与后端 IMAP 服务器之间的会话流量均由 NGINX 接收并转发。认证控制 通过 imap_auth 指定允许的身份验证方式(如 PLAIN、LOGIN、CRAM-MD5、EXTERNAL&…...

湖北理元理律所债务优化实践:法律技术与人文关怀的双轨服务
一、债务优化的法律逻辑与生活平衡 在债务重组领域,专业机构需同时解决两个核心问题: 法律合规性:依据《民法典》第680条、第671条,对高息债务进行合法性审查; 生活可持续性:根据债务人收入设计分期方案…...

Springboot——整合websocket并根据type区别处理
文章目录 前言架构思想项目结构代码实现依赖引入自定义注解定义具体的处理类定义 TypeAWebSocketHandler定义 TypeBWebSocketHandler 定义路由处理类配置类,绑定point制定前端页面编写测试接口方便跳转进入前端页面 测试验证结语 前言 之前写过一篇类似的博客&…...

Qiskit:量子计算模拟器
参考文献: IBM Qiskit 官网Qiskit DocumentationQiskit Benchpress packageQiskit Algorithms package量子计算:基本概念常见的几类矩阵(正交矩阵、酉矩阵、正规矩阵等)Qiskit 安装指南-博客园使用Python实现量子电路模拟&#x…...

龙虎榜——20250605
上证指数放量收阳线,个股涨跌基本持平,日线持续上涨。 深证指数放量收阳线,日线持续上涨。 2025年6月5日龙虎榜行业方向分析 1. 通信设备 代表标的:生益电子、三维通信、瑞可达 驱动逻辑:5.5G商用牌照发放预期加速&…...
PDF 转 HTML5 —— HTML5 填充图形不支持 Even-Odd 奇偶规则?(第二部分)
这是关于该主题的第二部分。如果你还没有阅读第一部分,请先阅读,以便理解“绕组规则”的问题。 快速回顾一下:HTML5 只支持 Non-Zero(非零)绕组规则,而 PDF 同时支持 Non-Zero 和 Even-Odd(奇偶…...
大数据离线同步工具 DataX 深度实践与 DataX Web 可视化指南
一、引言 在大数据领域,异构数据源间的数据同步是核心需求之一。传统工具如 Sqoop 基于磁盘 IO 的 MR 架构在性能上存在瓶颈,而DataX作为阿里巴巴开源的离线数据同步工具,凭借内存级数据传输和分布式并行处理能力,成为国内大数据…...
记一个判决书查询API接口的开发文档
一、引言 在企业风控、背景调查、尽职调查等场景中,判决书查询是一个非常重要的环节。通过判决书查询,可以了解个人或企业的司法涉诉情况,为风险评估提供数据支持。本文将详细介绍如何开发和使用一个司法涉诉查询API接口,包括客户…...

残月个人拟态主页
TwoMicry个人主页 残月个人拟态主页 原项目作者:KAI GE 在此基础上进行二次修改 精简重构一下 项目简介: 一个精美的拟态风格个人主页,采用现代化的玻璃拟态设计和丰富的动画效果 主要特色: 视觉效果: – 玻璃…...

热门消息中间件汇总
文章目录 前言RabbitMQ基本介绍核心特性适用场景 Kafka基本介绍核心特性适用场景 RocketMQ基本介绍核心特性适用场景 NATS基本介绍核心特性适用场景 总结选型建议与未来趋势选型建议未来趋势 结语 前言 大家后,我是沛哥儿。作为技术领域的老湿机,在消息…...

AiPy实战:10分钟用AI造了个音乐游戏!
“在探索AI编程边界时,我尝试了一个实验:能否让自然语言指令直接生成可交互的音乐学习应用?作为新一代智能编程协作框架,AiPy展示了对开发意图的深度理解能力——当输入创建钢琴学习游戏,包含动态难度关卡和即时反馈系…...
Python Rio 【图像处理】库简介
边写代码零食不停口 盼盼麦香鸡味块 、卡乐比(Calbee)薯条三兄弟 独立小包、好时kisses多口味巧克力糖、老金磨方【黑金系列】黑芝麻丸 边写代码边贴面膜 事业美丽两不误 DR. YS 野森博士【AOUFSE/澳芙雪特证】377专研美白淡斑面膜组合 优惠劵 别光顾写…...

贪心算法应用:分数背包问题详解
贪心算法与分数背包问题 贪心算法(Greedy Algorithm)是算法设计中一种重要的思想,它在许多经典问题中展现出独特的优势。本文将用2万字篇幅,深入剖析贪心算法在分数背包问题中的应用,从基础原理到Java实现细节&#x…...

PHP舆情监控分析系统(9个平台)
PHP舆情监控分析系统(9个平台) 项目简介 基于多平台热点API接口的PHP实时舆情监控分析系统,无需数据库,直接调用API实时获取各大平台热点新闻,支持数据采集、搜索和可视化展示。 功能特性 🔄 实时监控 …...

金孚媒重磅推出德国顶级媒体原生广告整合服务,覆盖12家主流媒体
2025年6月1日,为助力中国企业高效开拓德语市场,全球媒体资源直采和新闻分发平台金孚媒Kinfoome Presswire今日正式推出德国大媒体原生广告套餐。该套餐整合德国最具影响力的12家新闻门户资源,以高曝光、强信任度的原生广告形式,为…...

Mnist手写数字
运行实现: import torch from torch.utils.data import DataLoader from torchvision import transforms from torchvision.datasets import MNIST import matplotlib.pyplot as pltclass Net(torch.nn.Module):#net类神经网络主体def __init__(self):#4个全链接层…...

《一生一芯》数字实验三:加法器与ALU
1. 实验目标 设计一个能实现如下功能的4位带符号位的 补码 ALU: Table 4 ALU 功能列表 功能选择 功能 操作 000 加法 AB 001 减法 A-B 010 取反 Not A 011 与 A and B 100 或 A or B 101 异或 A xor B 110 比较大小 If A<B then out1…...
Go 语言并发编程基础:Goroutine 的创建与调度
Go 语言的并发模型是其最显著的语言特性之一。Goroutine 是 Go 实现并发的核心机制,它比线程更轻量,调度效率极高。 本章将带你了解 Goroutine 的基本概念、创建方式以及背后的调度机制。 一、什么是 Goroutine? Goroutine 是由 Go 运行时&a…...

三甲医院“AI平台+专家系统”双轮驱动模式的最新编程方向分析
医疗人工智能领域正在经历从“单点技术应用”到“系统性赋能”的深刻转型。在这一转型过程中,国内领先的三甲医院通过探索“AI平台+专家系统”双轮驱动模式,不仅解决了医疗AI落地“最后一公里”的难题,更推动了医疗服务质量与效率的全面提升。本文从技术架构、编程方向、落地…...