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

236.二叉树的最近公共祖先

​​题目来源:

        leetcode题目,网址:236. 二叉树的最近公共祖先 - 力扣(LeetCode)

解题思路:

        分别获得从根节点到两个目标节点的链路,寻找到最后一个相同节点即可。

解题代码:

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     TreeNode *left;*     TreeNode *right;*     TreeNode(int x) : val(x), left(NULL), right(NULL) {}* };*/
class Solution {
public:TreeNode* lowestCommonAncestor(TreeNode* root, TreeNode* p, TreeNode* q) {queue<TreeNode*> pLine;queue<TreeNode*> qLine;getLine(root,p,pLine);getLine(root,q,qLine);while(pLine.size()<qLine.size()){qLine.pop();}while(qLine.size()<pLine.size()){pLine.pop();}while(pLine.front()!=qLine.front()){pLine.pop();qLine.pop();}return pLine.front();}bool getLine(TreeNode* root, TreeNode* target,queue<TreeNode*>& line){if(root==nullptr){return false;}else if(root==target || getLine(root->left,target,line) || getLine(root->right,target,line)){line.push(root);return true;}return false;}
};
 

总结:

        官方题解给出了两种解法。第一种是递归,自底向上逐个判断该节点是否为目标节点。第二种解法是哈希表。获得 p 节点的链路后,从 q 节点开始寻找第一个在 p 的链路中的父节点。


相关文章:

236.二叉树的最近公共祖先

​​题目来源&#xff1a; leetcode题目&#xff0c;网址&#xff1a;236. 二叉树的最近公共祖先 - 力扣&#xff08;LeetCode&#xff09; 解题思路&#xff1a; 分别获得从根节点到两个目标节点的链路&#xff0c;寻找到最后一个相同节点即可。 解题代码&#xff1a; /***…...

ETL是什么,有哪些ETL工具?就业前景如何?

ETL是什么 ETL&#xff08;Extract-Transform-Load&#xff09;&#xff0c;用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目标端的过程。ETL一词较常用在数据仓库&#xff0c;但其对象并不限于数据仓库。它可以自动化数据处理过程&#xff0c;减少…...

无人机系统组装与调试,多旋翼无人机组装与调试技术详解,无人机飞控系统原理

多旋翼无人机飞控系统的组装 在开始组装前&#xff0c;确保您已准备好所有必要的工具和材料。这包括螺丝刀、电烙铁、焊台、杜邦线、飞控板、GPS模块、电机、桨叶等。 飞控安装 安全开关安装&#xff0c;将安全开关固定在机架上。将安全开关的线插到飞控SWITCH插口上。 电调…...

Log360,引入全新安全与风险管理功能,助力企业积极抵御网络威胁

ManageEngine在其SIEM解决方案中推出了安全与风险管理新功能&#xff0c;企业现在能够更主动地减轻内部攻击和防范入侵。 SIEM 这项新功能为Log360引入了安全与风险管理仪表板&#xff0c;Log360是ManageEngine的统一安全信息与事件管理&#xff08;SIEM&#xff09;解决方案…...

【开源】JAVA+Vue.js实现高校实验室管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、研究内容2.1 实验室类型模块2.2 实验室模块2.3 实验管理模块2.4 实验设备模块2.5 实验订单模块 三、系统设计3.1 用例设计3.2 数据库设计 四、系统展示五、样例代码5.1 查询实验室设备5.2 实验放号5.3 实验预定 六、免责说明 一、摘…...

Flink CDC 与 Kafka 集成:Snapshot 还是 Changelog?Upsert Kafka 还是 Kafka?

博主历时三年精心创作的《大数据平台架构与原型实现:数据中台建设实战》一书现已由知名IT图书品牌电子工业出版社博文视点出版发行,点击《重磅推荐:建大数据平台太难了!给我发个工程原型吧!》了解图书详情,京东购书链接:https://item.jd.com/12677623.html,扫描左侧二维…...

极智一周 | 国产CPU系列汇总、鲲鹏、飞腾、平头哥 And so on

欢迎关注我的公众号 [极智视界]&#xff0c;获取我的更多技术分享 大家好&#xff0c;我是极智视界&#xff0c;带来本周的 [极智一周]&#xff0c;关键词&#xff1a;国产CPU系列汇总、鲲鹏、飞腾、平头哥 And so on。 邀您加入我的知识星球「极智视界」&#xff0c;星球目前…...

PgSQL技术内幕 - case when表达式实现机制

PgSQL技术内幕 - case when表达式实现机制 CASE表达式如同 C语言中的if/else语句一样&#xff0c;为SQL添加了条件逻辑处理能力&#xff0c;可以根据不同条件返回不同结果。PgSQL支持两种语法&#xff1a;简单表达式和搜索表达式。 1、搜索表达式 语法如下&#xff1a; CASE WH…...

Android9~Android13 某些容量SD卡被格式化为内部存储时容量显示错误问题的研究与解决方案

声明:原创文章,禁止转载! Android9~Android13 某些容量SD卡被格式化为内部存储时容量显示错误问题的研究与解决方案 分析Android11 系统对于EMMC/UFS作为内部存储、SD卡被格式化为内部存储、SD卡/U盘被格式化为便携式存储的不同处理 一.现象描述 实测Android9 Android10 A…...

音视频色彩:RGB/YUV

目录 1.RGB 1.1介绍 1.2分类 1.2.1RGB16 1)RGB565 2)RGB555 1.2.2RGB24 1.2.3RGB222 2.YUV 2.1介绍 2.2分类 2.2.1 YUV444 2.2.2 YUV 422 2.2.3 YUV 420 2.3存储格式 2.3.1 YUYV 2.3.2 UYVY 2.3.3 YUV 422P 2.3.4 YUV420P/YUV420SP 2.3.5 YU12 和…...

MySQL之密码策略和用户授权

华子目录 密码策略查看数据库当前的密码策略密码策略详解caching_sha2_password_auto_generate_rsa_keyscaching_sha2_password_digest_roundscaching_sha2_password_private_key_pathcaching_sha2_password_public_key_pathdefault_password_lifetimedisconnect_on_expired_pa…...

电脑通电自启动设置

首先要进入BIOS&#xff0c;以华硕为例&#xff0c;按下电源键&#xff0c;在开机之前按下delete键&#xff0c;其他电脑可能是esc或者某个f键&#xff0c;请自行查找。 进入BIOS后要找到电源管理&#xff0c;可以在高级选项中找一找&#xff0c;如上图右下角选择高级模式。 …...

hive表加字段

目录 1.给表添加字段2.为什么使用cascade3.使用场景 1.给表添加字段 alter table database.tablename add columns(字段名 字段类型 comment 字段中文含义) cascade;2.为什么使用cascade 在Hive中&#xff0c;当你想要修改表结构&#xff0c;例如添加字段时&#xff0c;可能会…...

从零构建Hugo主题 - I

这是一个系列博客&#xff0c;记录了我从零开始构建Hugo主题https://github.com/tomowang/hugo-theme-tailwind的过程。全系列包括四篇文章&#xff0c;这是第一篇&#xff1a; I. 主要介绍我构建Hugo主题的背景&#xff0c;我对主题的功能想法&#xff0c;以及开发环境的搭建…...

【HarmonyOS应用开发】HTTP数据请求(十四)

文章末尾含相关内容源代码 一、概述 日常生活中我们使用应用程序看新闻、发送消息等&#xff0c;都需要连接到互联网&#xff0c;从服务端获取数据。例如&#xff0c;新闻应用可以从新闻服务器中获取最新的热点新闻&#xff0c;从而给用户打造更加丰富、更加实用的体验。 那么…...

MongoDB聚合: $sortByCount

$sortByCount聚合根据指定表达式的值对输入文档进行分组&#xff0c;然后计算每个不同分组中的文档数。 每个输出文档包含两个字段&#xff1a;一个是包含不同分组值的_id字段&#xff0c;另一个是包含属于该分组或类别的文档数量的计数字段。 文档按计数降序排序。 语法 {…...

FY-SA-20237·8-AI‘sIQ

Translated from the Scientific American, July/August 2023 issue. AI’s IQ ChatGPT aced a test but showed that intelligence cannot be measure by IQ alone. —— By Eka Roivainen 翻译&#xff1a;ChatGPT在一项测试中取得了优异的成绩&#xff0c;但也表明智力不能…...

react将选中文本自动滑动到容器可视区域内

// 自动滚动到可视区域内useEffect(() > {const target ref;const wrapper wrapperRef?.current;if (target && wrapperRef) {const rect target.getBoundingClientRect();const wrapperRect wrapper.getBoundingClientRect();const isVisible rect.bottom &l…...

Rust语言入门小结(第1篇)

Rust是一种新兴编程语言&#xff0c;既有高级语言的风格&#xff0c;又有底层语言级别的性能&#xff1b;是对于实时性、安全性要求高的应用开发的理想语言。 笔者的自学记录&#xff0c;供参考 环境搭建与第一个Rust程序 以Linux环境为例 # 下载并安装 curl --proto https -…...

前端实现支付跳转以及回跳

// 支付地址 const baseURL http://pcapi-xiaotuxian-front-devtest.itheima.net/ const backURL http://127.0.0.1:5173/paycallback const redirectUrl encodeURIComponent(backURL) const payUrl ${baseURL}pay/aliPay?orderId${route.query.id}&redirect${redirec…...

实在Agent实测:解决采购合同审核流程冗长与原材料交付周期拉长的架构之道

大家好&#xff0c;我是企业架构师老王。站在2026年5月这个时间节点回看&#xff0c;全球供应链的复杂程度已远超三年前的预判。近期我在为几家制造型企业做数字化诊断时发现&#xff0c;一个幽灵般的困境正在吞噬企业的利润&#xff1a;采购合同审核流程冗长&#xff0c;直接导…...

AI应用治理平台ZLAR:从网关到统一架构的演进与实践

1. 项目概述&#xff1a;从单一工具到统一平台的演进最近在折腾AI应用开发&#xff0c;特别是涉及到多模型调用、安全审计和策略执行这块&#xff0c;发现很多开源项目都是“各自为政”。比如&#xff0c;你需要一个网关来管理AI模型的访问&#xff0c;又需要一个独立的日志系统…...

【DSP学习】外部中断实验-基于普中DSP28335开发攻略

参考材料 普中DSP28335开发攻略 一、外部中断配置 1 失能 CPU 级中断&#xff0c;并初始化 PIE 控制器寄存器和 PIE 中断向量表在前面学习中断章节中&#xff0c;我们知道 F28335 的外设中断需通过 PIE 控制器来管理&#xff0c;因此需要初始化 PIE 相应的寄存器和中断向量表。…...

AI Agent沙箱环境部署指南:从Docker容器化到生产级运维

1. 项目概述&#xff1a;构建一个生产级的AI Agent沙箱环境最近在折腾一个挺有意思的项目&#xff0c;叫NemoClaw OpenClaw Sandbox。简单来说&#xff0c;它是一套完整的、开箱即用的部署方案&#xff0c;能帮你在自己的云服务器&#xff08;VPS&#xff09;上&#xff0c;快速…...

Elasticsearch 查询日志:每个查询一行协调器级别日志,适用于 ES|QL、DSL、SQL 和 EQL

作者&#xff1a;来自 Elastic Najwa Harif 及 Valentin Crettaz 通过 Elasticsearch 查询日志&#xff0c;可以轻松理解查询对集群性能的影响。每个请求由一条协调器级别日志记录&#xff0c;覆盖 ES|QL、DSL、SQL 和 EQL&#xff0c;并提供完整的查询文本、追踪信息、可选用户…...

2026 年行业真相:履职规范背后的管理秘密

现场冲突&#xff1a;安全与进度的激烈碰撞在工程建设领域&#xff0c;安全与进度的冲突一直是个老大难问题。就拿上海中心的建设来说&#xff0c;如此庞大复杂的项目&#xff0c;施工过程中安全管理难度极大。在某些施工阶段&#xff0c;为了赶进度&#xff0c;部分施工人员可…...

加拿大无人机产业:从感知到执行的自主化跃迁与BVLOS破局

1. 加拿大无人机产业的现状与挑战提起无人机&#xff0c;很多人脑海里首先蹦出来的可能是大疆&#xff0c;那个在全球消费级和部分商用市场占据绝对主导地位的中国品牌。这确实是一个不争的事实&#xff0c;也是加拿大本土无人机产业必须直面的现实。我接触过不少加拿大的初创公…...

不止于配置:深入理解AVL Cruise与Matlab Simulink联合仿真的DLL机制

不止于配置&#xff1a;深入理解AVL Cruise与Matlab Simulink联合仿真的DLL机制 在汽车工程仿真领域&#xff0c;AVL Cruise与Matlab Simulink的联合仿真已成为动力系统开发的标准工具链。大多数教程停留在环境配置层面&#xff0c;而真正影响仿真效率与可靠性的&#xff0c;往…...

工程师如何驾驭参考设计:从复制到创新的实战指南

1. 参考设计的双刃剑&#xff1a;工程师的“爱恨情仇”在电子工程这个行当里混了十几年&#xff0c;我发现自己对“参考设计”的感情&#xff0c;就像对一位能力超群但性格有点别扭的同事。你离不开他&#xff0c;因为他总能帮你快速搞定最棘手的难题&#xff0c;让你在项目截止…...

基于Telegram的AI聊天机器人SirChatalot部署与多模态功能配置指南

1. 项目概述&#xff1a;打造你的专属AI骑士 如果你厌倦了那些功能单一、反应迟钝的聊天机器人&#xff0c;想拥有一个既能深度对话、又能看图说话、甚至能帮你搜索网页和生成图片的“全能型”AI伙伴&#xff0c;那么 SirChatalot 这个项目绝对值得你投入时间。它本质上是一个…...