【学透二叉树-二叉搜索树(二叉树)的最近公共祖先】
示例:
代码实现:
class Solution {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);//如果left为空,说明这两个节点在root结点的右子树上,我们只需要返回右子树查找的结果即可if (left == null){return right;}//同上if (right == null){return left;}//如果left和right都不为空,说明这两个节点一个在root的左子树上一个在root的右子树上,//我们只需要返回root结点即可。return root;}
}
【注】该解法二叉树或二叉搜索树均适用。
【学透二叉树-二叉搜索树(二叉树)的最近公共祖先】相关推荐
- C++数据结构和算法2 栈 双端/队列 冒泡选择插入归并快排 二三分查找 二叉树 二叉搜索树 贪婪 分治 动态规划
C++数据结构和算法2 栈 双端/队列 冒泡选择插入归并快排 二三分查找 二叉树 二叉搜索树 贪婪 分治 动态规划 博文末尾支持二维码赞赏哦 _ github 章3 Stack栈 和 队列Queue= ...
- 看动画学算法之:二叉搜索树BST
文章目录 简介 BST的基本性质 BST的构建 BST的搜索 BST的插入 BST的删除 看动画学算法之:二叉搜索树BST 简介 树是类似于链表的数据结构,和链表的线性结构不同的是,树是具有层次结构的 ...
- 二叉树的最近公共祖先、二叉搜索数的最近公共祖先
目录 二叉树的最近公共祖先 二叉搜索数的最近公共祖先 二叉树的最近公共祖先Ⅱ 二叉树的最近公共祖先Ⅲ 二叉树的最近公共祖先Ⅳ 二叉树的最近公共祖先 给定一个二叉树, 找到该树中两个指定节点的最近公共祖 ...
- 6-3 二叉搜索树中的最近公共祖先 (25 分)
大一下半期数据结构 二叉搜索树中的最近公共祖先 在一棵树T中两个结点u和v的最近公共祖先(LCA),是树中以u和v为其后代的深度最大的那个结点.现给定某二叉搜索树(BST)中任意两个结点,要求你找出它 ...
- [二叉树]二叉搜索树转换为双向链表(剑指Offer26)
[试题描述] 将二叉搜索树转换为双向链表 对于二叉搜索树,可以将其转换为双向链表,其中,节点的左子树指针在链表中指向前一个节点,右子树指针在链表中指向后一个节点. 思路一: 采用递归思想,对于二叉搜索 ...
- LeetCode刷题笔记 二叉树 二叉搜索树的操作
669 修剪二叉搜索树 给定一个二叉查找树和两个整数 L 和 R,且 L < R,试修剪此二叉查找树,使得修剪后所有节点的值都在 [L, R] 的范围内. 输入是一个二叉查找树和两个整数 ...
- 二叉树--二叉搜索树
一直对AVL这个英文缩写比较困惑,原来一直以为是平衡二叉树的首字母缩写,但是又想不明白,哈!前段时间才明白原来是种这课树的三个人的名字的首字母的,哎,生活处处有惊喜,无知不可怕,现在我也知道了.废话不 ...
- 刷题记录8---验证二叉搜索树+二叉树的层序遍历+从前序与中序遍历序列构造二叉树+二叉树展开为链表+二叉树的最近公共祖先
前言 所有题目均来自力扣题库中的hot 100,之所以要记录在这里,只是方便后续复习 98.验证二叉搜索树 题目: 给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树. 有效 二叉搜 ...
- 五.树,二叉树,二叉搜索树(BST)和自平衡二叉搜索树(AVL)
1.树 树是一种数据结构 比如:目录结构 树是一种可以递归定义的数据结构 树是由n个节点组成的集合: 如果 n=0, 那这是一颗空树 如果 n>0, 那存在1个节点作为树的根节点,其他节点可以分 ...
最新文章
- 前端页面水印生成实现
- Windows软件授权管理工具 slmgr命令详解
- Python3--爬取数据之911网站信息爬取
- java基础学不会_java基础
- scrollwidth ,clientwidth ,offsetwidth 三者的区别
- Composer快速入门
- 构建Spring微服务并对其进行Dockerize生产
- 未来计算机领域最急缺的人,未来十年最紧缺职业 没人愿意干的高薪职业
- tomcat调优方案
- SpringBoot异常处理以及对数据正确性的检查
- 【论文】最新自然语言处理领域顶会论文大合集!
- Android客户端和服务器端数据交互的第三种方法
- ensembl-vep/VEP 注释软件安装及测试 超简单版(conda vep、百度网盘数据库)
- 不装oracle客户端plsql,不安装Oracle客户端使用PLSQL
- 吊打迅雷,最好用的BT种子下载器,下载不限速
- 【旧资料整理】笔记本无线共享路由器网络连接方法要点总结
- [ISITDTU 2019]EasyPHP
- 电脑屏幕亮度调节器-护目镜
- Hive坑之Where语句的“不等于”
- 最新前端体系学习路径推荐(内附免费资料)
热门文章
- 不来了解下JVM支持的语言有哪些?
- mx4 pro 刷 原生 android,如期而至:MX4 Pro 迎来首个 Android 5.0 体验固件
- 用Excel表格拆分一行里的内容
- 马云:2019年两大行业,会成就一批千万富翁!
- 三菱梯形图转换c语言软件,梯形图转51软件(三菱PMW文件转51)
- 在配置SSH免密登录时报错:/usr/bin/ssh-copy-id: ERROR: failed to open ID file '/root/.pub': 没有那个文件或目录
- 最便宜的方式学习阿里云产品之使用竞价式实例ECS
- springboot不停机更新(配合Nginx优雅发版)
- Metasploitable2虚拟机镜像下载地址
- FX110网:鳄鱼线(Alligator)指标的操作应用