【二叉树-02】二叉树的最近公共祖先-力扣 236 题

news2024/11/28 14:46:31

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。
img

  • 推荐:kuan 的首页,持续学习,不断总结,共同进步,活到老学到老
  • 导航
    • 檀越剑指大厂系列:全面总结 java 核心技术点,如集合,jvm,并发编程 redis,kafka,Spring,微服务,Netty 等
    • 常用开发工具系列:罗列常用的开发工具,如 IDEA,Mac,Alfred,electerm,Git,typora,apifox 等
    • 数据库系列:详细总结了常用数据库 mysql 技术点,以及工作中遇到的 mysql 问题等
    • 懒人运维系列:总结好用的命令,解放双手不香吗?能用一个命令完成绝不用两个操作
    • 数据结构与算法系列:总结数据结构和算法,不同类型针对性训练,提升编程思维,剑指大厂

非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨

博客目录

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

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

image-20230918135853260

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

题解:

public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) {
    //找到就返回
    if (root == null || root == p || root == q) {
        return root;
    }
    //找左边
    TreeNode left = lowestCommonAncestor(root.left, p, q);
    //找右边
    TreeNode right = lowestCommonAncestor(root.right, p, q);
    //左边没有,则在右边
    if (left == null) {
        return right;
    }
    if (right == null) {
        return left;
    }
    //左右都有,则祖先就是root
    return root;
}

觉得有用的话点个赞 👍🏻 呗。
❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

img

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1028456.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

DC系列靶机3通关教程

文章目录 信息收集主机扫描端口扫描目录扫描 漏洞查找Joomscansearchsploit 漏洞利用SQL注入密码爆破反弹shell得到交互shell 提权查看操作系统版本信息搜索操作系统漏洞利用exp提权查找flag 信息收集 主机扫描 arp-scan -l端口扫描 nmap -p- -A 192.168.16.162-A&#xff1…

月木学途开发 5.轮播图模块

概述 效果图 数据库设计 轮播图表 DROP TABLE IF EXISTS banner; CREATE TABLE banner (bannerId int(11) NOT NULL AUTO_INCREMENT,bannerUrl longtext,bannerDesc varchar(255) DEFAULT NULL,bannerTypeId int(11) DEFAULT NULL,PRIMARY KEY (bannerId) ) ENGINEInnoDB AU…

【UE 粒子练习】06——创建条带类型粒子

效果 下图呈现的是一种条带粒子跟随普通粒子移动的效果。其中,条带粒子为下图中蓝色部分,橙色部分为普通粒子 步骤 1. 新建一个材质,命名为“Mat_Ribbon”,将用于条带粒子材质 材质域设置为表面,混合模式设置为半透明…

DeepWalk实战---Wiki词条图嵌入可视化

DeepWalk是2014年提出的一种Graph中的Node进行Embedding的 算法,是首次将自然语言处理领域NLP中的 word2vec拓展到了graph。万事万物皆可embedding,所以DeepWalk我感觉在图机器学习中具有非常强的应用价值。 1. 首先打开Anaconda Prompt (Anaconda)&…

分享一个基于uniapp+springboot技术开发的校园失物招领小程序(源码、lw、调试)

💕💕作者:计算机源码社 💕💕个人简介:本人七年开发经验,擅长Java、Python、PHP、.NET、微信小程序、爬虫、大数据等,大家有这一块的问题可以一起交流! 💕&…

海国图志#7:这一周难忘瞬间,吐血整理,不得不看

这里记录每周值得分享的新闻大图,周日发布。 文章以高清大图呈现,解说以汉语为主,英语为辅,英语句子均来自NYTimes、WSJ、The Guardian等权威媒体原刊。 归档时段:20230911-20230917 摩洛哥,阿米茨米兹 在阿…

calibre和cpolar搭建一个私有的网络书库

Kindle中国电子书店停运不要慌,十分钟搭建自己的在线书库随时随地看小说! 文章目录 Kindle中国电子书店停运不要慌,十分钟搭建自己的在线书库随时随地看小说!1.网络书库软件下载安装2.网络书库服务器设置3.内网穿透工具设置4.公网…

树莓派4b装系统到运行 Blazor Linux 本地程序全记录

在Linux下运行gui程序,咱也是第一次做,属于是瞎子过河乱摸一通,写得有什么不对和可以优化的地方,希望各位看官斧正斧正. ##1. 下载烧录器 https://www.raspberrypi.com/software/####我选择的是Raspbian 64位系统,并配置好ssh账号密码,wifi,以便启动后可以直接黑屏ssh连接 ##…

全流程HEC-RAS 1D/2D水动力与水环境模拟丨恒定流模型(1D/2D)、一维非恒定流、二维非恒定流模型、HEC-RAS水质模型

目录 ​专题一 ​水动力模型基础 专题二 恒定流模型(1D/2D) 专题三 一维非恒定流 专题四 二维非恒定流模型(一) 专题五 二维非恒定流模型(二) 专题六 HEC-RAS的水质模型 专题七 高级主题 更多应用 水动力与水环境模型的数…

【自学开发之旅】Flask-会话保持-API授权-注册登录

http - 无状态-无法记录是否已经登陆过 #会话保持 – session cookie session – 保存一些在服务端 cookie – 保存一些数据在客户端 session在单独服务器D上保存,前面数个服务器A,B,C上去取就好了,业务解耦。—》》现在都是基于token的验证。 以上是基…

stm32学习笔记:GPIO输入

1、寄存器输入输出函数 //读取输入数据寄存器某一个端口的输入值,参数用来指定某一个端口,返回值是 uint8_t类型,用来代表高低电平(读取按键的值)uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_…

JVM调优笔记

双亲委派机制 app---->ext----->bootstrap 保证系统的核心库不被修改 沙箱安全机制 限制系统资源访问,将java代码限制在虚拟机特定的运行范围中 基本组件 字节码校验器 确保java类文件遵循java规范,帮助java程序实现内存保护类加载器 native…

基于SSM的北京集联软件科技有限公司信息管理系统

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用JSP技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…

博客摘录「 MobaXterm登录密码重置」2023年9月21日

登录MobaXterm提示输入密码, 而且还 忘记密码 安装重置密码的工具 可以使用浏览器打开 如下网址: https://mobaxterm.mobatek.net/resetmasterpassword.html 打开如图: 下载MobaXterm软件密码重置工具,下载好并解压后 直接…

第二证券:创业板指失守2000点 算力概念股走势活跃

周三,沪深两市继续缩量震动调整,三大指数均小幅下跌,创业板指失守2000点整数关口,再创调整新低。到收盘,上证综指报3108.57点,跌0.52%;深证成指报10072.46点,跌0.53%;创业…

Python机器学习实战-特征重要性分析方法(1):排列重要性(附源码和实现效果)

实现功能 排列重要性 PermutationImportance:该方法会随机排列每个特征的值,然后监控模型性能下降的程度。如果获得了更大的下降意味着特征更重要 实现代码 from sklearn.datasets import load_breast_cancer from sklearn.ensemble import RandomFore…

应用程序处理:TCP模块的处理

1、应用程序处理 首先应用程序会进行编码处理,这些编码相当于 OSI 的表示层功能; 编码转化后,邮件不一定马上被发送出去,这种何时建立通信连接何时发送数据的管理功能,相当于 OSI 的会话层功能。 2、TCP 模块的处理 …

共聚焦显微镜在化学机械抛光课题研究中的应用

两个物体表面相互接触即会产生相互作用力,研究具有相对运动的相互作用表面间的摩擦、润滑与磨损及其三者之间关系即为摩擦学,目前摩擦学已涵盖了化学机械抛光、生物摩擦、流体摩擦等多个细分研究方向,其研究的数值量级也涵盖了亚纳米到百微米…

MYSQL不常用但好用写法

ORDER BY FIELD() 自定义排序逻辑 MySql 中的排序 ORDER BY 除了可以用 ASC 和 DESC,还可以通过 「ORDER BY FIELD(str,str1,…)」 自定义字符串/数字来实现排序。这里用 order_diy 表举例,结构以及表数据展示: ORDER BY FIELD(str,str1,…) …

【Excel加密】excel只读模式在哪里设置

Excel文件想要设置成只读模式,其实很简单,今天给大家分享四个excel设置只读模式的方法。 方法一:文件属性 右键点击文件,查看文件属性,在属性界面,勾选上只读属性就可以了。 方法二:始终以只读…