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

leetcode思路-236 二叉树的最近公共祖先

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

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

思路:

递归解析:
终止条件:
当越过叶节点,则直接返回 null ;
当 root 等于 p,q ,则直接返回 root ;
递推工作:
开启递归左子节点,返回值记为 left ;
开启递归右子节点,返回值记为 right ;
返回值: 根据 left 和 right ,可展开为四种情况;
当 left 和 right 同时为空 :说明 root 的左 / 右子树中都不包含 p,q ,返回 null ;
当 left 和 right 同时不为空 :说明 p,q 分列在 root 的 异侧 (分别在 左 / 右子树),因此 root 为最近公共祖先,返回 root ;
当 left 为空 ,right 不为空 :p,q 都不在 root 的左子树中,直接返回 right 。具体可分为两种情况:
p,q 其中一个在 root 的 右子树 中,此时 right 指向 p(假设为 p );
p,q 两节点都在 root 的 右子树 中,此时的 right 指向 最近公共祖先节点 ;
当 left 不为空 , right 为空 :与情况 3. 同理;

public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) { if(root == null || root == p||root == q){ return root; } TreeNode left = lowestCommonAncestor(root.left,p,q); TreeNode right = lowestCommonAncestor(root.right,p,q); if(left == null){ return right; } if(right == null){ return left; } return root; }
http://www.zskr.cn/news/1342602.html

相关文章:

  • 分布式团队的代码协作规范:从分支策略到提交信息格式
  • Cell Host Microbe | 西奈山伊坎医学院房刚团队揭示肠道微生物的表观遗传“押注对冲“策略
  • 远程技术面试的潜规则:摄像头角度可能影响你的录用
  • VisionPro 中 验证工具 ID Verfiction
  • 用Claude Code做了一件事,现在AI比我还了解我?
  • 对比直接使用厂商API与通过Taotoken调用的体验差异
  • 告别被封号!这款30项检测全过的“隐形浏览器”火了
  • 通宵降AI率?10款降AI工具亲测:哪个神器一次过,哪个白花钱
  • Spec-Kit + Superpowers 实战:Go语言博客论坛系统的规范驱动开发
  • 微波遥感杂谈五(微波辐射计)
  • 适配多层级组织管理,科学运用 360 度反馈打造公平高效绩效文化
  • CVPR 2026 预讲会54位讲者云集| 6大方向+5个专场
  • 鸿蒙备考题库页面构建:错题本、小组榜单与备考提示模块详解
  • 永久免费的国产模型
  • 从 35,000 行 WhatsApp 对话到一个会说话的 AI 销售员——OpenClaw 多层记忆架构实战
  • 2026年5月天津五粮液回收机构权威度实测评测 - 优质品牌商家
  • 逆向苹果私有框架!他把第三方视频逼成了macOS原生壁纸
  • 郯城本地苗木供应商评测:山东,临沂,江苏,乌桕苗木、巨紫荆苗木、日本红枫苗木、朴树苗木、榉树苗木、樱花苗木、欧洲枫香苗木选择指南 - 优质品牌商家
  • 2026年四川颗粒板厂家评测:靠谱供应商核心维度解析 - 优质品牌商家
  • 学生用户画像-考勤主题标签构建
  • C++强制类型转换的四种方式
  • 重磅!AI 大神 Karpathy 加盟 + 算力工具链垄断,Anthropic 凭啥围剿 OpenAI?
  • 变压器设计-基于AP法
  • 论文开讲,开会内容
  • CAN模型:让GAN具备审美判断与风格突破能力
  • 智慧铁路之钢轨缺陷识别 自动化轨道检测系统开发 铁路养护车辆计算机视觉功能实现 轨道交通腐蚀识别 钢轨磨损识别10340期
  • 台湾话TTS自然度卡在3.2/5?用MOS-LQO双维度测评法定位8类发音失真源(附自动化诊断脚本)
  • 【助睿实验指导】助睿ETL-订单利润分流数据加工
  • 神经网络工程化:从信号处理视角解剖CNN/RNN/Transformer设计逻辑
  • 玻璃材质提示词失效率高达67%?2024最新Glass Prompt Framework v3.0(含Cinema4D材质参数→MJ语义映射表)