力扣【235. 二叉搜索树的最近公共祖先】Java题解

题目链接

按照二叉搜索树的特性,我们只需要找到第一个"大于p小于q"或者"大于q小于p"的节点,或者等于p或等于q的节点即可。

当前节点大于p和q时,说明公共祖先在左子树。

当前节点小于p和q时,说明公共祖先在右子树。

csharp 复制代码
class Solution {
    public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) {
         while(!((root.val > p.val && root.val <q.val)||(root.val < p.val && root.val >q.val) || root.val ==q.val ||root.val ==p.val)){
           if(root.val >p.val&&root.val >q.val) root = root.left;
           else if(root.val <p.val&&root.val <q.val) root = root.right;  
        }
        return root;
    }
}
相关推荐
snow@li15 分钟前
Java:理解 Gradle / 后端项目的管家 / 打包SpringBoot 应用 / 完成编译、下载依赖、运行测试、打包 JAR/WAR / 速查表
java
KaMeidebaby22 分钟前
卡梅德生物技术快报|纯化重组蛋白实操详解
人工智能·python·tcp/ip·算法·机器学习
云烟成雨TD28 分钟前
Spring AI 1.x 系列【57】动态工具发现:Tool Search Tool
java·人工智能·spring
zfoo-framework44 分钟前
[修改代码使用]codex官方app中使用中转(不需要cc-switch) 1.config.toml 2.sk方式登录
java
逍遥德1 小时前
MQTT教程详解-05.SpringBoot集成mqtt client 性能分析
java·spring boot·spring·mt
云烟成雨TD1 小时前
Spring AI 1.x 系列【54】Retry 机制分析
java·人工智能·spring
weixin_523185321 小时前
Collections.unmodifiableMap详解:真的不可修改吗?
java·linux·前端
手写码匠1 小时前
从零实现 Prompt 工程引擎:结构化提示、自动优化与多轮自省体系
人工智能·深度学习·算法·aigc
点燃大海1 小时前
SpringAI构建智能体
java·spring boot·spring·springai智能体
xier_ran1 小时前
【infra之路】02_RadixAttention与KV_Cache管理
java·spring boot·spring