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

LeetCode 235. 二叉搜索树的最近公共祖先 java题解

https://leetcode.cn/problems/lowest-common-ancestor-of-a-binary-search-tree/description/

由于二叉搜索树是有序的,所以比题236更简单。

class Solution {
    public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) {
        if(root==p) return p;
        if(root==q) return q;
        //p,q都不是root。看p,q在同一侧孩子吗?
        //看p,q分别在哪一侧
        if(p.val<root.val&&q.val<root.val){//都在左子树
            return lowestCommonAncestor(root.left,p,q);
        }
        else if(p.val>root.val&&q.val>root.val){//都在右子树
            return lowestCommonAncestor(root.right,p,q);
        }
        else{//分别在左右
            return root;
        }
    }
}
/**
两个节点ab的最近公共祖先 1.他们两的父节点c 2.他们两其中之一a,a是b的父节点
 */

相关文章:

  • 练习:猜数字小游戏
  • SRT协议
  • 企业微信token及相关接口关联分析
  • 界面控件Telerik和Kendo UI 2025 Q1亮点——AI集成与数据可视化
  • leetcode543.二叉树的直径
  • 【系统架构设计师】数据库系统 ② ( 分布式数据库 | 分布式数据库 特点 | 分布式数据库 分层模式 | 两阶段提交协议 - 2PC 协议 )
  • 浅谈WebSocket-FLV
  • 【Mysql】SQL 优化全解析
  • Java爬虫如何解析返回的JSON数据?
  • H3C 防火墙上配置端口映射
  • 旅游CMS选型:WordPress、Joomla与Drupal对比
  • HarmonyOS之深入解析跳转支付宝小程序完成操作后如何自动返回App
  • vue ts+Windi CSS
  • Unity打包崩溃SRP-URP-管线的问题:Shader::SRPBatcherInfoSetup()
  • 鸿蒙 ArkUI 应用上架流程
  • C# 文件夹与命名空间的关系解析
  • HTML5 新的 Input 类型学习笔记
  • linux之 内存管理(5)-CMA 连续内存管理器
  • 【深度学习】Cross-Attention(交叉注意力)机制详解与应用
  • 深入理解 Linux 中磁盘空间驱动的编写:从原理到实践
  • jsp网站维护/怎么制作网页推广
  • 奉贤宜昌网站建设/国内十大软件培训机构
  • 网站怎么做 流程图/朋友圈信息流广告投放价格
  • php 网站/杭州seo薪资水平
  • 思源黑体做网站/网络软文营销案例
  • 企业网站个人备案吗/seo是什么专业