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

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

题目链接
按照二叉搜索树的特性,我们只需要找到第一个“大于p小于q”或者“大于q小于p”的节点,或者等于p或等于q的节点即可。
当前节点大于p和q时,说明公共祖先在左子树。
当前节点小于p和q时,说明公共祖先在右子树。

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;
    }
}

http://www.kler.cn/a/524586.html

相关文章:

  • .NET MAUI 入门学习指南
  • MySQL中的读锁与写锁:概念与作用深度剖析
  • Haproxy入门学习二
  • PyTorch API 详细中文文档,基于PyTorch2.5
  • 新年快乐!给大家带来了一份 python 烟花代码!
  • 支持selenium的chrome driver更新到132.0.6834.110
  • 分享| RL-GPT 框架通过慢agent和快agent结合提高AI解决复杂任务的能力-Arxiv
  • 【Day28 LeetCode】动态规划DP
  • 「全网最细 + 实战源码案例」设计模式——适配器模式
  • 【事务管理】
  • 多协议网关BL110钡铼6路RS485转MQTT协议云网关
  • 【数据结构】_顺序表经典算法OJ(力扣版)
  • 虚拟机里网络设置-桥接与NAT
  • 基于微信小程序的新闻资讯系统设计与实现(LW+源码+讲解)
  • 【Unity3D】aab包太大无法上传Google问题
  • 防御保护第一次实验:安全策略配置
  • 【漫话机器学习系列】067.希腊字母(greek letters)-写法、名称、读法和常见用途
  • 【越学学糊涂的Linux系统】Linux指令篇(二)
  • Go学习:类型转换需注意的点 以及 类型别名
  • 嵌入式Linux:如何监视子进程
  • 使用 concurrently 实现前后端一键启动
  • 深入理解 C 语言基本数据类型:从常量变量到输入输出
  • STM32 PWM驱动舵机
  • 【信息系统项目管理师-选择真题】2007下半年综合知识答案和详解
  • Leetcode45:跳跃游戏 II
  • SpringBoot 中的测试jar包knife4j(实现效果非常简单)