题目描述

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

思路

详见链接

代码

class Solution:def __init__(self,x):self.val = xself.left = Noneself.right = Noneclass Solution:def lowestCommonAncestor(self,root:TreeNode,p:TreeNode,q:TreeNode):if (root.val - p.val)*(root.val-q.val)<= 0:return rootif p.val < root.val:return self.lowestCommonAncestor(root.left,p,q)return self.lowestCommonAncestor(root.right,p,q)

LeetCode 235. 二叉搜索树的最近公共祖先(递归)相关推荐

  1. leetcode 235. 二叉搜索树的最近公共祖先(Java版,树形dp套路)

    题目 原题地址:leetcode 235. 二叉搜索树的最近公共祖先 说明: 所有节点的值都是唯一的. p.q 为不同节点且均存在于给定的二叉搜索树中. 题解 关于 树形dp 套路,可以参考我的另一篇 ...

  2. leetcode —— 235. 二叉搜索树的最近公共祖先

    给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先. 百度百科中最近公共祖先的定义为:"对于有根树 T 的两个结点 p.q,最近公共祖先表示为一个结点 x,满足 x 是 p.q 的祖 ...

  3. Leetcode 235.二叉搜索树的最近公共祖先

    Time: 20190907 Type: Easy 题目描述 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先. 百度百科中最近公共祖先的定义为:"对于有根树 T 的两个结点 p. ...

  4. leetcode 235. 二叉搜索树的最近公共祖先

    给定一棵二叉搜索树, 找到该树中两个指定节点的最近公共祖先. 百度百科中最近公共祖先的定义: "对于有根树T的两个结点u.v,最近公共祖先表示一个结点x,满足x是u.v的祖先且x的深度尽可能 ...

  5. leetcode 235. 二叉搜索树的最近公共祖先 思考分析

    目录 题目 思考 迭代法 题目 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先. 百度百科中最近公共祖先的定义为:"对于有根树 T 的两个结点 p.q,最近公共祖先表示为一个结点 ...

  6. ( “树” 之 BST) 235. 二叉搜索树的最近公共祖先 ——【Leetcode每日一题】

    二叉查找树(BST):根节点大于等于左子树所有节点,小于等于右子树所有节点. 二叉查找树中序遍历有序. 235. 二叉搜索树的最近公共祖先 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先. ...

  7. [剑指offer]面试题第[68-2]题[Leetcode][第236题][JAVA][二叉搜索树的最近公共祖先][递归]

    [问题描述][中等] 235/68-1 搜索二叉树 236/68-2 二叉树 [解答思路] 递归 时间复杂度:O(N) 空间复杂度:O(N) 情况 1. , 2. , 3. , 4. 的展开写法如下. ...

  8. 二叉树part8 | ● 235. 二叉搜索树的最近公共祖先 ● 701.二叉搜索树中的插入操作 ● 450.删除二叉搜索树中的节点

    文章目录 235. 二叉搜索树的最近公共祖先 思路 代码 困难 701.二叉搜索树中的插入操作 思路 代码 450.删除二叉搜索树中的节点 思路 代码 困难 今日收获 235. 二叉搜索树的最近公共祖 ...

  9. [剑指offer]面试题第[68-1]题[Leedcode][JAVA][第235题][二叉搜索树的最近公共祖先][递归][BFS]

    [问题描述][第235题][二叉搜索树的最近公共祖先][简单] 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先.百度百科中最近公共祖先的定义为:"对于有根树 T 的两个结点 p. ...

最新文章

  1. 深度学习与TensorFlow
  2. ps添加的阴影怎么去除_【PS摄影后期教程】去除阴影色块三种方法
  3. 锁的用处及脏读、不可重复读和幻觉读的概念
  4. 微服务访问安全设计方案全探索
  5. 《Android开发案例驱动教程》
  6. BTC36 CLUB国际基金拟向美国SEC提交那斯达克股票上市申请
  7. 手动Linux固定IP
  8. python合并单元格的快捷键是什么_【答疑】wps word表格如何合并单元格,快捷键是什么? - 羽兔网问答...
  9. UVa12235 Help Bubu
  10. java软件更换皮肤怎么做_java窗体程序更换皮肤方法详细步骤
  11. Redis数据库简介
  12. 怎么翻译Excel表格?两个方法可以轻松翻译Excel
  13. CoreML遇到的问题和原因
  14. 2_嵌入式软件开发简介
  15. Method has too many Body parameters: public abstract java.util.List com.yun.client.DemandClient.que
  16. Tik Tok小店:英国tiktok小店怎么核对结算
  17. SpringMVC IP权限设计
  18. 目标跟踪实战deepsort+yolov5(上)
  19. Python 爬虫 | 获取股票基本面数据
  20. Dynamic Bone(Unity拖尾插件)使用说明

热门文章

  1. ip8plus多重_【苹果 iPhone 8 Plus 手机使用总结】容量|处理器|手感_摘要频道_什么值得买...
  2. 如何开启MySQL的慢查询日志
  3. flash制作文字笔顺_教你如何给GIF动态图片加上文字
  4. html表单制作及实例问卷好吗,问卷网上制作问卷、表单、测评的区别
  5. 解决datagridview 横向的scrollbar不显示
  6. mysql switch binlog_TiDB binlog实时同步数据到下游Kafka
  7. 思科路由器Ez×××解决地址重叠测试
  8. 用户是如何浏览你的网站的
  9. 基于jQuery的窗口插件:jMessageBox
  10. Ubuntu Server 如何校对时钟(通过NTP)