示例:

代码实现:

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

【注】该解法二叉树二叉搜索树均适用。

【学透二叉树-二叉搜索树(二叉树)的最近公共祖先】相关推荐

  1. C++数据结构和算法2 栈 双端/队列 冒泡选择插入归并快排 二三分查找 二叉树 二叉搜索树 贪婪 分治 动态规划

    C++数据结构和算法2 栈 双端/队列 冒泡选择插入归并快排 二三分查找 二叉树 二叉搜索树 贪婪 分治 动态规划 博文末尾支持二维码赞赏哦 _ github 章3 Stack栈 和 队列Queue= ...

  2. 看动画学算法之:二叉搜索树BST

    文章目录 简介 BST的基本性质 BST的构建 BST的搜索 BST的插入 BST的删除 看动画学算法之:二叉搜索树BST 简介 树是类似于链表的数据结构,和链表的线性结构不同的是,树是具有层次结构的 ...

  3. 二叉树的最近公共祖先、二叉搜索数的最近公共祖先

    目录 二叉树的最近公共祖先 二叉搜索数的最近公共祖先 二叉树的最近公共祖先Ⅱ 二叉树的最近公共祖先Ⅲ 二叉树的最近公共祖先Ⅳ 二叉树的最近公共祖先 给定一个二叉树, 找到该树中两个指定节点的最近公共祖 ...

  4. 6-3 二叉搜索树中的最近公共祖先 (25 分)

    大一下半期数据结构 二叉搜索树中的最近公共祖先 在一棵树T中两个结点u和v的最近公共祖先(LCA),是树中以u和v为其后代的深度最大的那个结点.现给定某二叉搜索树(BST)中任意两个结点,要求你找出它 ...

  5. [二叉树]二叉搜索树转换为双向链表(剑指Offer26)

    [试题描述] 将二叉搜索树转换为双向链表 对于二叉搜索树,可以将其转换为双向链表,其中,节点的左子树指针在链表中指向前一个节点,右子树指针在链表中指向后一个节点. 思路一: 采用递归思想,对于二叉搜索 ...

  6. LeetCode刷题笔记 二叉树 二叉搜索树的操作

    669 修剪二叉搜索树 ​ 给定一个二叉查找树和两个整数 L 和 R,且 L < R,试修剪此二叉查找树,使得修剪后所有节点的值都在 [L, R] 的范围内. ​ 输入是一个二叉查找树和两个整数 ...

  7. 二叉树--二叉搜索树

    一直对AVL这个英文缩写比较困惑,原来一直以为是平衡二叉树的首字母缩写,但是又想不明白,哈!前段时间才明白原来是种这课树的三个人的名字的首字母的,哎,生活处处有惊喜,无知不可怕,现在我也知道了.废话不 ...

  8. 刷题记录8---验证二叉搜索树+二叉树的层序遍历+从前序与中序遍历序列构造二叉树+二叉树展开为链表+二叉树的最近公共祖先

    前言 所有题目均来自力扣题库中的hot 100,之所以要记录在这里,只是方便后续复习 98.验证二叉搜索树 题目: 给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树. 有效 二叉搜 ...

  9. 五.树,二叉树,二叉搜索树(BST)和自平衡二叉搜索树(AVL)

    1.树 树是一种数据结构 比如:目录结构 树是一种可以递归定义的数据结构 树是由n个节点组成的集合: 如果 n=0, 那这是一颗空树 如果 n>0, 那存在1个节点作为树的根节点,其他节点可以分 ...

最新文章

  1. 前端页面水印生成实现
  2. Windows软件授权管理工具 slmgr命令详解
  3. Python3--爬取数据之911网站信息爬取
  4. java基础学不会_java基础
  5. scrollwidth ,clientwidth ,offsetwidth 三者的区别
  6. Composer快速入门
  7. 构建Spring微服务并对其进行Dockerize生产
  8. 未来计算机领域最急缺的人,未来十年最紧缺职业 没人愿意干的高薪职业
  9. tomcat调优方案
  10. SpringBoot异常处理以及对数据正确性的检查
  11. 【论文】最新自然语言处理领域顶会论文大合集!
  12. Android客户端和服务器端数据交互的第三种方法
  13. ensembl-vep/VEP 注释软件安装及测试 超简单版(conda vep、百度网盘数据库)
  14. 不装oracle客户端plsql,不安装Oracle客户端使用PLSQL
  15. 吊打迅雷,最好用的BT种子下载器,下载不限速
  16. 【旧资料整理】笔记本无线共享路由器网络连接方法要点总结
  17. [ISITDTU 2019]EasyPHP
  18. 电脑屏幕亮度调节器-护目镜
  19. Hive坑之Where语句的“不等于”
  20. 最新前端体系学习路径推荐(内附免费资料)

热门文章

  1. 不来了解下JVM支持的语言有哪些?
  2. mx4 pro 刷 原生 android,如期而至:MX4 Pro 迎来首个 Android 5.0 体验固件
  3. 用Excel表格拆分一行里的内容
  4. 马云:2019年两大行业,会成就一批千万富翁!
  5. 三菱梯形图转换c语言软件,梯形图转51软件(三菱PMW文件转51)
  6. 在配置SSH免密登录时报错:/usr/bin/ssh-copy-id: ERROR: failed to open ID file '/root/.pub': 没有那个文件或目录
  7. 最便宜的方式学习阿里云产品之使用竞价式实例ECS
  8. springboot不停机更新(配合Nginx优雅发版)
  9. Metasploitable2虚拟机镜像下载地址
  10. FX110网:鳄鱼线(Alligator)指标的操作应用