力扣【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;
    }
}
相关推荐
Brianna Home几秒前
从零到一:用Godot打造2D游戏《丛林探险》
算法·游戏·性能优化·游戏引擎·bug·godot·动画
小欣加油2 分钟前
leetcode 143 重排链表
数据结构·c++·算法·leetcode·链表
一头生产的驴5 分钟前
java整合itext pdf实现固定模版pdf导出
java·python·pdf
魔都吴所谓6 分钟前
【python】快速实现pdf批量去除指定位置水印
java·python·pdf
Camel卡蒙7 分钟前
数据结构——字典树Trie(介绍、Java实现)
java·数据结构
kida_yuan8 分钟前
【Java】基于 Tabula 的 PDF 合并单元格内容提取
java·数据分析
courniche36 分钟前
ECDH、ECDHE、ECDLP、ECDSA傻傻分不清?
算法·密码学
SimonKing44 分钟前
TeamViewer、向日葵平替?这几款免费远程控制软件,真香!
java·后端·程序员
前端小刘哥1 小时前
超低延迟与高并发:视频直播点播平台EasyDSS在游戏直播场景的技术实践
算法
Json____1 小时前
最近我用springBoot开发了一个二手交易管理系统,分享一下实现方式~
java·spring boot·后端