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

513. 找树左下角的值-day16

本地要找出树的最后一行找到最左边的值。此时大家应该想起用层序遍历是非常简单的了反而用递归的话会比较难一点。我们依然还是先介绍递归法。咋眼一看这道题目用递归的话就就一直向左遍历最后一个就是答案呗没有这么简单一直向左遍历到最后一个它未必是最后一行啊。我们来分析一下题目在树的最后一行找到最左边的值。首先要是最后一行然后是最左边的值。如果使用递归法如何判断是最后一行呢其实就是深度最大的叶子节点一定是最后一行。如果对二叉树深度和高度还有点疑惑的话请看二叉树我平衡么。所以要找深度最大的叶子节点。那么如果找最左边的呢可以使用前序遍历这样才先优先左边搜索然后记录深度最大的叶子节点此时就是树的最后一行最左边的值。递归三部曲确定递归函数的参数和返回值参数必须有要遍历的树的根节点还有就是一个int型的变量用来记录最长深度。 这里就不需要返回值了所以递归函数的返回类型为void。本题还需要类里的两个全局变量maxLen用来记录最大深度maxleftValue记录最大深度最左节点的数值。有的同学可能疑惑为啥不能递归函数的返回值返回最长深度呢其实很多同学都对递归函数什么时候要有返回值什么时候不能有返回值很迷茫。如果需要遍历整颗树递归函数就不能有返回值。如果需要遍历某一条固定路线递归函数就一定要有返回值初学者可能对这个结论不太理解别急后面我会安排一道题目专门讲递归函数的返回值问题。这里大家暂时先了解一下。本题我们是要遍历整个树找到最深的叶子节点需要遍历整颗树所以递归函数没有返回值。确定终止条件当遇到叶子节点的时候就需要统计一下最大的深度了所以需要遇到叶子节点来更新最大深度。确定单层递归的逻辑在找最大深度的时候递归的过程中依然要使用回溯// 递归法 class Solution { private int Deep -1; private int value 0; public int findBottomLeftValue(TreeNode root) { value root.val; findLeftValue(root,0); return value; } private void findLeftValue (TreeNode root,int deep) { if (root null) return; if (root.left null root.right null) { if (deep Deep) { value root.val; Deep deep; } } if (root.left ! null) findLeftValue(root.left,deep 1); if (root.right ! null) findLeftValue(root.right,deep 1); } }//迭代法 class Solution { public int findBottomLeftValue(TreeNode root) { QueueTreeNode queue new LinkedList(); queue.offer(root); int res 0; while (!queue.isEmpty()) { int size queue.size(); for (int i 0; i size; i) { TreeNode poll queue.poll(); if (i 0) { res poll.val; } if (poll.left ! null) { queue.offer(poll.left); } if (poll.right ! null) { queue.offer(poll.right); } } } return res; } }

相关文章:

513. 找树左下角的值-day16

本地要找出树的最后一行找到最左边的值。此时大家应该想起用层序遍历是非常简单的了,反而用递归的话会比较难一点。我们依然还是先介绍递归法。咋眼一看,这道题目用递归的话就就一直向左遍历,最后一个就是答案呗?没有这么简单&…...

DO-254通读--11.0 附加考虑

11.0 附加考虑 本节提供了前几节未涵盖的设计保证附加考虑事项的指南。申请人可酌情使用这些附加考虑来满足第2节至第9节的部分目标。任何附加考虑的使用均应征得审定机构的同意。 11.1 使用先前已开发的硬件 本节讨论与使用先前已开发的硬件相关的问题。指南包括对硬件修改…...

AI写教材的秘密武器!实现低查重教材生成的实用工具推荐

撰写教材现状及 AI 工具的作用 撰写教材的进度总是会在“慢节奏”中踩到许多雷区。本来框架和资料都已经齐备,却在内容写作上遭遇瓶颈——一句话反复琢磨半天,依旧觉得表达不够准确;章节之间的衔接,总是绞尽脑汁也找不到合适的语…...

内窥镜加热器如何选择红外LED加热光源

内窥镜加热器在医疗和工业领域中扮演着关键角色,特别是在低温环境下需要确保内窥镜的正常工作。选择合适的红外LED加热光源对于提高内窥镜的性能和可靠性至关重要。本文将从内窥镜加热方式的发展、红外LED光源的选择、内窥镜加热器的应用案例和方案,以及…...

Vivado FPGA输入时钟约束

## 40mhz时钟输入 set_property PACKAGE_PIN F17 [get_ports f_clk40mhz] set_property IOSTANDARD LVCMOS33 [get_ports f_clk40mhz] create_clock -period 25.000 -name f_clk40mhz -waveform {0.000 12.500} [get_ports f_clk40mhz]前两行是引脚约束,后一行是时…...

昆仑通态触摸屏485通讯恒压供水程序(一拖二)

昆仑通态触摸屏485通讯ABB做的恒压供水程序,不需要PLC 恒压供水一拖二程序 1.触摸屏程序MCGpro版本,也有优盘格式文件 2.有ABB变频器一拖二设置参数及接线图纸,(可不用触摸屏) 3.有CAD图纸,二次图,昆仑通态的触摸屏直接…...

高德地图车机版9.1.0.600087美化包

资源编号235_高德地图车机版9.1.0.600087正式版。 更新自定义dex版本至20260311。 全新自定义修改脚本,修复已知bug,增加稳定性。 支持悬浮/原包/共存_鹰眼预警/ai预测/红绿灯播报/变灯提醒/超速提醒/天气播报等 点我下载 ❗关于系统版本&#xff1…...

【最新】OpenClaw(Clawdbot)本地6分钟搭建及使用萌新步骤

【最新】OpenClaw(Clawdbot)本地6分钟搭建及使用萌新步骤。OpenClaw(Clawdbot/Moltbot)作为开源、本地优先的AI助理框架,凭借724小时在线响应、多任务自动化执行、跨平台协同等核心能力,成为个人办公与轻量…...

多策略混合的北方苍鹰优化算法:基于立方混沌与透镜反向学习的种群初始化及最差最优策略对比原始NG...

多策略混合改进的北方苍鹰优化算法--MATLAB 改进: 1、立方混沌和透镜反向学习初始化种群 2、最差最优反向策略和透镜反向学习 对比原始NGO算法江湖上优化算法多如牛毛,今儿咱们来盘一盘这个自带猛禽气质的北方苍鹰优化算法(Northern…...

米哈游 AI产品经理面试题精选:10道高频考题+答案解析(附PDF)

米哈游简介 米哈游(miHoYo)是全球领先的游戏开发公司,以《原神》《崩坏》系列闻名,技术实力雄厚且注重二次元文化。作为技术驱动型公司,米哈游在AI技术应用上走在行业前沿,尤其在游戏NPC智能交互、内容生成、玩家体验优化等方面有深度探索。AI产品经理岗位要求既懂技术又…...

深度拆解OpenClaw:引爆“赛博养虾”狂潮的技术内核、产业重构与暗面危机

🔥作者简介: 一个平凡而乐于分享的小比特,中南民族大学通信工程专业研究生,研究方向无线联邦学习 🎬擅长领域:驱动开发,嵌入式软件开发,BSP开发 ❄️作者主页:一个平凡而…...

联想老机型无对应 BIOS 可下载?官方解答 + 操作建议全在这

不少使用联想老款电脑的用户都会遇到这样的困惑:想升级 BIOS 优化设备性能、解决硬件兼容问题,却在官方渠道翻遍了也找不到对应机型的 BIOS 安装包,不知道是操作方式不对,还是官方已停止相关支持,也不敢随意下载第三方…...

Java异常与事务回滚:从Throwable顶层继承到rollbackFor陷阱的深度解析

在Java企业级开发中,异常处理与事务管理是保障系统稳定性的两大基石。然而,许多开发者在面对Transactional注解的rollbackFor属性、try-catch块中的异常处理以及Java异常体系的顶层结构时,往往存在认知误区。本文将从异常体系的顶层父类出发&…...

小白收藏必备:快速掌握AI Agent主流设计模式,轻松入门大模型开发

本文介绍了AI Agent的几种主流设计模式,包括ReAct、Plan & Execute、ReWOO、LLM Compiler、反思与增强类架构以及LATS。通过分析这些模式的核心概念、工作原理、优缺点和典型应用场景,帮助初学者理解AI Agent的设计思路,为后续深入研究Cl…...

基于MATLAB的蚁群算法:二维与三维路径优化及可视化输出研究

基于matlab的蚁群优化路径算法,二维路径和三维路径优化。 输出可视化最优路径和距离迭代曲线。 数据可更换自己的,程序已调通,可直接运行。蚁群优化这玩意儿看着复杂,其实用Matlab玩起来还真挺有意思。咱今天不整那些虚头巴脑的理…...

3调度和上下文切换

第3章 调度和上下文切换 0. 导言:并发执行的幻觉 并发的本质:操作系统通过在处理器上频繁切换不同的任务,给用户造成多个任务“同时”处理的幻觉。核心机制:上下文切换。 步骤: 停止当前进程。保存足够的信息&#xff…...

debug记录

1、头文件重复包含。 包含链分析: bsp_Seg7.h:12 包含了 lks32mc45x_define.happ_Comm.h:3 包含了 lks32mc45x.h而 lks32mc45x.h 很可能也直接或间接包含了 lks32mc45x_define.h 关键问题: 我之前读取的 lks32mc45x_define.h 缺少头文件保护&#xf…...

BigIntegerBigDecimal

BigInteger 构造方法 常用第二个,第四个1. 例子2. 总结常见方法1. 总结BigDecimal构造方法 这种构造有可能不太精确:通过传递字符串表示的小数来创建对象:静态方法获取Bigdecimal 对象:常见方法RoundingMode.HALF_UP (…...

Agent长期记忆系统设计实战(非常详细),从架构原理到落地从入门到精通,收藏这一篇就够了!

在大多数Agent系统的开发中,对Memory的处理方式都比较简单直接,常见的两种实现方式: 方式一:直接保存历史对话,下次直接塞给大模型; 方式二:把对话内容放到向量库中,再次对话时通过…...

弧光保护装置定义

弧光保护装置的定义弧光保护装置是一种用于检测和快速切断电力系统中电弧故障的电气安全设备。其主要功能是通过监测电弧产生的光、电流或压力变化,在毫秒级时间内触发断路器或熔断器动作,以消除电弧危害,保护人员安全和设备完整性。核心功能…...

杰理芯片矩阵赋能音频升级:AC112N、AC1123A引领蓝牙6.0低功耗新潮流--云信通讯

在消费电子飞速迭代的今天,蓝牙耳机已成为人们日常出行、办公娱乐的必备单品,而蓝牙耳机芯片作为核心“心脏”,直接决定了耳机的连接稳定性、续航能力与音质表现。杰理科技深耕音频芯片领域多年,凭借强大的研发实力,推…...

供应链OpenClaw

别让“龙虾”困在实验室!实测实在Agent:供应链数字化的“暴力美学”与终极落地 【摘要】 2026年3月,OpenClaw(龙虾)的爆火让全行业看到了AI Agent接管桌面的可能。但在供应链这个“深水区”,光有开源的热情…...

拆解Socks5代理:从定义到原理,小白也能看懂

Socks5代理,简单来说,是一种网络传输协议,本质是一个“中转站”,负责在客户端(比如你的电脑、手机)和目标服务器之间传递数据,不直接参与数据的处理和修改,仅起到转发作用。它是Sock…...

独居老人居家看护避坑指南:带你读懂“银发宝”的隐形守护逻辑

基于银发宝数字底座,联信数字打造的为老服务一键通系统,有效解决了老人摔倒了怎么办的居家难题,并通过百视宝电视终端实现了适老化交互。本文将深入探讨这一系统的运作机制及其在隐私保护、操作便捷性及响应闭环方面的优势。一、现状痛点&…...

AI 时代全栈开发的“破局之道”:TypeScript 生态实战,让 AI 真正为你所用

前言:AI 浪潮下,全栈门槛被重新定义 在 AI 工具席卷开发圈的今天,自动生成代码片段已不再是难事,但“全栈焦虑”并未因此消失 。很多开发者发现,即便有 AI 加持,依然会陷入困境:前端懂 React 却…...

Mac+PC双系统如何共享双屏?KVM切换器选购的5个关键指标|TESmart用户真实体验复盘

如今,用双显示器管理多台电脑已成为常态,无论你是在macOS和Windows之间切换工作,还是将个人电脑与办公系统分开,亦或是同时处理创意任务和技术工作流。但如果硬件跟不上,系统间的切换就会变得令人抓狂。 KVM切换器提供…...

网易一面:KAFKA写入数据时是先写Leader还是先写Follower?

Kafka 的写入路径是先写 Leader,再由 Leader 复制到 Followers。 对生产者而言是否等 Followers取决于 acks(确认级别)。不存在生产者直接同时写 Leader 和 Follower的机制,复制由 Leader 侧串起完成。写入链路:Leader…...

欧拉系统维护

一 安装docker 1.1 欧拉2403 安装docker 1.1.1 环境准备 # 欧拉中用 dnf-utils 替代 yum-utils(功能完全一致) sudo dnf install -y dnf-utils device-mapper-persistent-data lvm2 libseccomp-devel1.1.2 安装Docker Engine 1.1.2.1 配置 Docker 国内源…...

蓝桥杯 Python 备考全攻略:从入门到进阶的学习路线

前言 蓝桥杯作为国内热门的算法竞赛,Python 凭借语法简洁、上手快的优势成为很多参赛选手的首选语言。本文结合蓝桥杯常考知识点的难度分级,整理了一套科学的 Python 备考路线,帮助不同基础的选手高效备战。 目录 前言 一、备考总览 二、…...

Claude Agent Skills 开源!模块化技能插件一键解锁专业能力,小白也能轻松上手(收藏必备)

Claude Agent Skills 是 Anthropic 开源的新功能,通过加载不同领域的“技能插件”,让 Claude 模型快速切换专业角色,如代码审查师、设计师等。文章详细解析了 Agent Skills 的核心设计(渐进式加载、可组合性、可移植性&#xff09…...