# Definition for a binary tree node.# class TreeNode(object):#     def __init__(self, x):#         self.val = x#         self.left = None# self.right = None

# 二叉搜索树的公共祖先一定在[p,q]之间class Solution(object):def lowestCommonAncestor(self, root, p, q):""" :type root: TreeNode :type p: TreeNode :type q: TreeNode :rtype: TreeNode """

 if not root:return root

if p.val < root.val and q.val < root.val:return self.lowestCommonAncestor(root.left,p,q)if p.val > root.val and q.val > root.val:return self.lowestCommonAncestor(root.right,p,q)return root

转载于:https://www.cnblogs.com/lux-ace/p/10546801.html

递归与二叉树_leetcode235相关推荐

  1. 后序遍历的非递归算法python_刷题系列 - Python用非递归实现二叉树后续遍历

    顺便把Python用非递归实现二叉树后续遍历也写了. 其实前序中序和后续都是针对父节点说的.比如下面这个最简单二叉树. 前序就是ABC,父节点A在前 中序就是BAC,父节点A在中间 后序就是BCA,父 ...

  2. 中序非递归遍历二叉树

    二叉树的递归算法虽然简单,但是会导致时间复杂度比较高,下面给大家带来用栈实现的二叉树非递归算法 首先定义好二叉树,和元素类型为二叉树的栈 typedef struct BiTNode{TElemTyp ...

  3. 由“递归遍历二叉树”引发的思考

    由"递归遍历二叉树"引发的思考 递归的用法我感觉自己已经掌握了,可是今天在递归遍历二叉树时,它又迷一样令我费解.我本人在算法这一块很薄弱,所以想把这个问题发出来,希望有大神能够为我 ...

  4. 递归构造二叉树和二叉树的遍历

    学习递归构造二叉树,并且进行前序遍历. 前序遍历,中序遍历和后序遍历是什么? 遍历的顺序分别如下: 前序遍历:根节点,左子树,右子树: 中序遍历:左子树,根节点,右子树: 后序遍历:左子树,右子树,根 ...

  5. python 递归遍历二叉树

    python 递归遍历二叉树 我确定很多人不能真正的理解二叉树-- class Node: def __init__(self,value=0,left=0,right=0): self.value= ...

  6. 【转】更简单的非递归遍历二叉树的方法

    [转]更简单的非递归遍历二叉树的方法 解决二叉树的很多问题的方案都是基于对二叉树的遍历.遍历二叉树的前序,中序,后序三大方法算是计算机科班学生必写代码了.其递归遍历是人人都能信手拈来,可是在手生时写出 ...

  7. 剑指offer之先序非递归打印二叉树

    1 问题 先序非递归打印二叉树 比如二叉树如下 * 2* 3 5 * 1 4 2 3 * 3 2 1 5 1 4 2 3 先序原则:中左右打印节点,如果左边有节点继续要打做节点,打印会是如下结果 2 ...

  8. 非递归遍历二叉树(算法导论第三版第十章10.4-5)

    非递归遍历二叉树(算法导论第三版第十章10.4-5) template<typename T> void TraverseBinaryTreeNonRecursive(BinaryTree ...

  9. 二叉树C++ | 链表递归实现二叉树(插入、搜索)_1

    递归实现二叉树(插入.搜索) // Binary Search Tree - Implemenation in C++ // Simple program to create a BST of int ...

  10. java中二叉树_Java工程师面试1000题224-递归非递归实现二叉树前、中、后序遍历...

    224.使用递归和非递归实现二叉树的前.中.后序遍历 使用递归来实现二叉树的前.中.后序遍历比较简单,直接给出代码,我们重点讨论非递归的实现. class Node { public int valu ...

最新文章

  1. 三部门发布18个新职业:含碳排放管理员、调饮师等
  2. 数据结构——字符串(未完)
  3. 快乐学习Pandas!开源教程《Joyful-Pandas》发布
  4. 概率论-3.1 多位随机变量及其联合分布
  5. [洛谷P1951]收费站_NOI导刊2009提高(2)
  6. 如何做相册_手机里的照片太多,不得已只能删除?那就试试制作电子相册吧
  7. Openstack的RPC通信代码调用架构
  8. linux vbox安装mac os,超简单的linux下virtualbox4.3.26安装配置黑苹果 OSX 10.9的办法
  9. ba网络c语言编程,如何用C语言程序构造随机网络和BA无尺度网络
  10. Java构造方法解析
  11. java基础--接口
  12. 购物直播APP系统+短视频系统开发方案
  13. GDAL坐标转换六参的使用方法
  14. 我喜欢的LaTex编辑器
  15. shiro 过滤器 Filter 修改请求url
  16. linux scp 输入密码,scp 在脚本中使用输入密码的解决方法
  17. 对象不支持attachEvent
  18. 物联网技能大赛-Ubuntu-(4)
  19. matlab验证线性卷积与圆周卷积的关系
  20. marked生成Markdown导致代码块错位的BUG解决

热门文章

  1. SQL Server 2017 AlwaysOn AG 自动初始化(十六)
  2. logback.xml 配置总结
  3. Android ScrollView 使用总结
  4. KNN——K nearest neighbor
  5. 空间apiLinux系统调用及用户编程接口(API)学习
  6. C++中使用空格的建议
  7. iOS Xcode7.2 is Not on Any Development Teams
  8. 重磅!微软在 GitHub 又一开源力作面世,代号「女娲」!
  9. 说你呢,装着JDK8,却孜孜不倦的写着 JDK6 的代码,写了3年了,JDK8的特性都没用过......
  10. 校招毁约污点公司名录.pdf