力扣【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;
    }
}
相关推荐
阿波罗尼亚1 分钟前
ExcelUtils实现 设置内容 插入行 复制行列格式
java·开发语言
Monkey-旭9 分钟前
Android 定位技术全解析:从基础实现到精准优化
android·java·kotlin·地图·定位
带刺的坐椅9 分钟前
Solon StateMachine 实现状态机使用示例详解
java·solon·状态机
Yyyy48224 分钟前
MyCAT高可用
java·运维
NuyoahC28 分钟前
笔试——Day46
c++·算法·笔试
Keying,,,,1 小时前
力扣hot100 | 图论 | 200. 岛屿数量、994. 腐烂的橘子、207. 课程表、208. 实现 Trie (前缀树)
算法·leetcode·图论
华仔啊1 小时前
final在Java中到底有啥用?5个实际场景告诉你
java·后端
the beard1 小时前
Maven 入门与进阶:聚合、继承与生命周期详解
java
csdn_aspnet1 小时前
解决 Spring Boot 应用程序中的“无法配置数据源”错误
java·spring boot
灵魂猎手2 小时前
9. Mybatis与Spring集成原理解析
java·后端·源码