leetcode 235. Lowest Common Ancestor of a Binary Search Tree 二叉搜索树的最近公共祖先(简单)

一、题目大意

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

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

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

leetcode 235. Lowest Common Ancestor of a Binary Search Tree 二叉搜索树的最近公共祖先(简单)

示例 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, 因为根据定义最近公共祖先节点可以为节点本身。

说明:

  • 所有节点的值都是唯一的。
  • p、q 为不同节点且均存在于给定的二叉搜索树中。

来源:力扣(LeetCode
链接:https://leetcode.cn/problems/lowest-common-ancestor-of-a-binary-search-tree
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

二、解题思路

求二叉树的最小共同父节点,可以用递归来求解,同志二叉搜索树的特点是左

Original: https://www.cnblogs.com/okokabcd/p/16753532.html
Author: okokabcd
Title: leetcode 235. Lowest Common Ancestor of a Binary Search Tree 二叉搜索树的最近公共祖先(简单)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/609635/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • H3CNE实验笔记

    telnet远程登录 实验拓扑 [H3C]telnet server enable [H3C]int g0/0 [H3C-GigabitEthernet0/0]ip add 192…

    Java 2023年6月6日
    080
  • SpringBoot接口-如何优雅的对参数进行校验?

    在以SpringBoot开发Restful接口时, 对于接口的查询参数后台也是要进行校验的,同时还需要给出校验的返回信息放到上文我们统一封装的结构中。那么如何优雅的进行参数的统一校…

    Java 2023年6月6日
    0100
  • ASP.net实现邮件发送

    进入信息化时代,网络已经遍及到生活的方方面面,网络教育,网络培训,网络工程等等,各各行业,都应运而生,为网络市场增加活力。 网络信息化的来到,为我们的生活提供了方便,以前交流用书信…

    Java 2023年5月29日
    085
  • 算法-贪心思想

    算法-贪心思想 庭前看玉树,肠断忆连枝 一、剪绳子 1、题目描述 把一根绳子剪成多段,并且使得每段的长度乘积最大。 2、解题思路 尽可能得多剪长度为 3 的绳子,并且不允许有长度为…

    Java 2023年6月5日
    095
  • linux部署jar包脚本和注册开机启动

    前言 之前开发了windows部署jar包为服务的工具在实际生产环境中使用非常简单方便,公司部分项目是部署在linux系统中的,所以决定整合一个通用的jar包部署脚本,并注册为开机…

    Java 2023年6月15日
    076
  • Java 之 String 类型

    因为对象的默认值是null,所以String的默认值也是null;但它又是一种特殊的对象,有其它对象没有的一些特性。 首先String不属于8种基本数据类型(byte, char,…

    Java 2023年5月29日
    069
  • Linux 定时任务调度

    定时任务调度 任务调度:是指系统在某个时间执行的特定的命令或程序 任务调度分类 系统工作:有些重要的工作必须周而复始的执行 个别用户工作:个别用户可能希望执行某些程序 cronta…

    Java 2023年6月5日
    088
  • spring的事务管理

    点赞再看,养成习惯,微信搜索「 小大白日志」关注这个搬砖人。 文章不定期同步公众号,还有各种一线大厂面试原题、我的学习系列笔记。 事务的4种隔离级别,7种事务传播级别 Spring…

    Java 2023年6月8日
    097
  • 框架篇(二)Spring面试题(一)

    Spring面试题 Spring常见面试题总结(超详细回答)_张维鹏的博客-CSDN博客_spring面试题一个不错的总结!!! 1. 你是怎样理解Spring的 我和面试官的一个…

    Java 2023年6月5日
    0108
  • 02 MyBatis & Druid

    MyBatis MyBatis 是灵活的 SQL 映射, 不想 Hibrnate 是纯的 ORM, 个人还是比较写 SQL 语句, 不喜欢纯的 ORM. 首先引入 Maven 依赖…

    Java 2023年5月30日
    073
  • SpringBoot整合knife4j

    一、 knife4j简介 1、简介 knife4j是为Java MVC框架集成Swagger生成Api文档的增强解决方案,它封装了swagger。前身是swagger-bootst…

    Java 2023年5月30日
    087
  • spring boot、spring cloud、spring cloud alibaba、nacos之间的版本对应

    1、刚开始,我的spring cloud alibaba的版本为2.1.0,nacos版本为1.4.1 然后报错如下: 说明没有读取到nacos中的配置,nacos中的配置如下: …

    Java 2023年5月30日
    067
  • 微服务架构的基础框架选择:Spring Cloud还是Dubbo?

    https://zhuanlan.zhihu.com/p/25450681?refer=dreawer 最近一段时间不论互联网还是传统行业,凡是涉及信息技术范畴的圈子几乎都在讨论微…

    Java 2023年5月30日
    077
  • C++基础-文件操作

    文件操作(输入输出流) 文件操作的概述 程序运行时产生的数据都属于零食数据,程序一旦运行结束,就会被释放 通过 文件可以将数据持久化 C++中对文件的操作包含头文件(文件流) 文件…

    Java 2023年6月5日
    084
  • lua 通过 stomp协议发送消息到 rabbitmq

    类库安装: 进入 nginx.conf 中 lua_package_path 中对应的目录下的resty 目录(没有则创建) , 执行: 示例代码: 注意: rabbitmq 的 …

    Java 2023年5月30日
    077
  • 210_RabbitMQ运维-内存磁盘的监控

    监控简介 RabbitMQ的内存警告 RabbitMQ的内存控制 命令的方式 设置内存阈值为50MB,查看内存告警情况 配置文件方式 rabbitmq.conf RabbitMQ的…

    Java 2023年6月7日
    0100
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球