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

LeetCode热题100-二叉树的最近公共祖先

给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。

百度百科中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”

示例 1:

输入:root = [3,5,1,6,2,0,8,null,null,7,4], p = 5, q = 1输出:3解释:节点 5 和节点 1 的最近公共祖先是节点 3 。
核心思路(后序递归)
  1. 空节点 / 碰到 p / 碰到 q,直接返回当前节点
  2. 递归搜左子树、右子树
  3. 左右都有结果 → 当前节点就是最近公共祖先
  4. 只有左边有 → 答案在左;只有右边有 → 答案在右
class Solution: def lowestCommonAncestor(self, root: 'TreeNode', p: 'TreeNode', q: 'TreeNode') -> 'TreeNode': if not root or root == p or root == q: return root left = self.lowestCommonAncestor(root.left, p, q) right = self.lowestCommonAncestor(root.right, p, q) if left and right: return root return left if left else right
http://www.jsqmd.com/news/853478/

相关文章:

  • c语言开源库之pubnub库使用vs编译
  • 保姆级教程:在Ubuntu 20.04上搞定PX4 SITL仿真与QGroundControl连接(含国内网络避坑)
  • DeepSeek GPU资源配置黄金公式(附可运行YAML模板):从单卡推理到千卡集群的7层资源校准法
  • taotoken用量看板如何帮助项目管理者精细化追踪api成本
  • 免费Steam挂卡神器:Idle Master完整使用教程
  • 别再死磕传统算法了!用DeepIM+PyTorch搞定社交网络影响力最大化(附完整代码)
  • 树莓派远程桌面终极方案:VNC Viewer配置、开机自启与静态IP避坑指南
  • 3步解锁ChatTTS-ui:从零构建你的本地智能语音合成系统 [特殊字符]️
  • 给UR5e机械臂动力学建模做减法:一个简化模型在C++中的实现与验证
  • 3个核心模块解析:如何用League Akari实现英雄联盟客户端智能自动化
  • React框架核心概念与实践
  • AI从业者的终身学习:如何保持AI技术竞争力
  • Flutter新手必看:别再让Gradle卡在assembleDebug了,保姆级阿里云镜像配置指南(含allowInsecureProtocol报错解决)
  • 基于 QiWe API 的企业微信社群自动化:智能迎新、群管与 SCRM 客户打标实战
  • 如何快速掌握Avogadro 2:面向新手的免费分子建模终极指南
  • 免费AI图像放大神器Upscayl:从模糊到高清的终极解决方案
  • 【Midjourney年度订阅黑盒报告】:逆向解析官网价格策略,曝光3级会员权益差异与隐藏企业通道入口
  • 如何快速找回丢失的数据?TestDisk和PhotoRec免费数据恢复终极指南
  • 如何快速搭建微信智能机器人:7步实现多AI服务自动回复
  • 互联网大厂 Java 求职者面试:从微服务到数据库的技术挑战
  • 2026 AI 技术生态全景指南:从 LLM 到 Agent,从 MCP 到 A2A
  • LeetCode热题100-路径总和 III
  • 嵌入式Linux调试:当你的I2C设备没反应时,用i2c-tools一步步排查(附DS1307实例)
  • OpenPCDet实战:从KITTI数据到pkl文件,3D目标检测数据管道的构建与解析
  • 避坑指南:斐讯N1刷Armbian 5.77到EMMC最容易翻车的5个地方(附正确操作)
  • 基于光纤光栅的微型光谱仪:原理、设计与应用
  • 告别手动计算!用STM32和MAX31865实现PT100温度采集与Shell命令行调试(Keil工程分享)
  • DeepSeek模型私有化部署GCP终极指南:仅限首批200家获授的CI/CD流水线YAML模板(含自动扩缩容策略)
  • CTF出题人视角:如何设计一个‘看起来难’的RSA变种题(附POC代码)
  • FaceFusion 2.3.0 参数实战:从新手到高手的配置进阶指南