LeetCode235. 二叉搜索树的最近公共祖先

server/2024/11/26 20:54:32/

题目描述:

给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。

百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”

例如,给定如下二叉搜索树:  root = [6,2,8,0,4,7,9,null,null,3,5]

示例 1:

输入: root = [6,2,8,0,4,7,9,null,null,3,5], p = 2, q = 8
输出: 6 
解释: 节点 2 和节点 8 的最近公共祖先是 6。

示例 2:

输入: root = [6,2,8,0,4,7,9,null,null,3,5], p = 2, q = 4
输出: 2
解释: 节点 2 和节点 4 的最近公共祖先是 2, 因为根据定义最近公共祖先节点可以为节点本身。

代码:

 public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) {TreeNode a=root;while(p.val<a.val&&q.val<a.val||p.val>a.val&&q.val>a.val){if(p.val<a.val){a=a.left;}else{a=a.right;}}return a;}


http://www.ppmy.cn/server/145145.html

相关文章

【数据结构】通过对比二叉查找树、平衡二叉树和B树,对MySQL中的B+树讲解

从二叉查找树到B树的演进 通过对比二叉查找树、平衡二叉树、B树和B树&#xff0c;从简单到复杂&#xff0c;逐步帮助理解B树的特点及优势。 1. 二叉查找树&#xff08;Binary Search Tree, BST&#xff09; 二叉查找树是一种简单的树结构&#xff0c;特点是每个节点最多有两个…

单片机结合OpenCV

目录 一、引言 二、单片机结合 OpenCV 的优势 1. 图像识别与处理 2. 目标检测 3. 用户界面开发 4. Linux 在嵌入式系统中的作用 5. 多线程优势 6. 网络编程作用 7. 文件编程功能 三、OpenCV 在单片机上的实现难点 1. 处理能力限制 2. 通信与优化挑战 四、单片机如…

Python 爬虫从入门到(不)入狱学习笔记

爬虫的流程&#xff1a;从入门到入狱 1 获取网页内容1.1 发送 HTTP 请求1.2 Python 的 Requests 库1.2 实战&#xff1a;豆瓣电影 scrape_douban.py 2 解析网页内容2.1 HTML 网页结构2.2 Python 的 Beautiful Soup 库 3 存储或分析数据&#xff08;略&#xff09; 一般爬虫的基…

Java项目实战II基于微信小程序的图书馆自习室座位预约平台(开发文档+数据库+源码)

目录 一、前言 二、技术介绍 三、系统实现 四、文档参考 五、核心代码 六、源码获取 全栈码农以及毕业设计实战开发&#xff0c;CSDN平台Java领域新星创作者&#xff0c;专注于大学生项目实战开发、讲解和毕业答疑辅导。 一、前言 在知识爆炸的时代&#xff0c;图书馆和…

ISUP协议视频平台EasyCVR萤石设备视频接入平台银行营业网点安全防范系统解决方案

在金融行业&#xff0c;银行营业厅的安全保卫工作至关重要&#xff0c;它不仅关系到客户资金的安全&#xff0c;也关系到整个银行的信誉和运营效率。随着科技的发展&#xff0c;传统的安全防护措施已经无法满足现代银行对于高效、智能化安全管理的需求。 EasyCVR视频汇聚平台以…

centos7.9搭建k8s集群

环境准备 centos7.9,8G4C 准备工作&#xff1a; 关闭防火墙firewalld、selinux 设置主机名 设置/etc/hosts [rootlocalhost ~]# hostnamectl set-hostname master [rootlocalhost ~]# hostnamectl set-hostname worker1 [rootlocalhost ~]# hostnamectl set-hostname w…

MySQL通过binlog恢复数据

查看记录二进制日志详细信息 SHOW VARIABLES LIKE %log_bin% log_bin 为 ON说明这个参数是开启的&#xff0c;就是说系统是记录了bin log的 log_bin_basename 配置了bin log的文件路径及文件前缀名 log_bin_index 配置了bin log索引文件的路径 查看当前使用日志列表 show …

44.扫雷第二部分、放置随机的雷,扫雷,炸死或成功 C语言

按照教程打完了。好几个bug都是自己打出来的。比如统计周围8个格子时&#xff0c;有一个各自加号填成了减号。我还以为平移了&#xff0c;一会显示是0一会显示是2。结果单纯的打错了。debug的时候断点放在scanf后面会顺畅一些。中间多放一些变量名方便监视。以及mine要多显示&a…