Leetcode #235 Lowest Common Ancestor of a Binary Search Tree
2015-08-28 04:28
375 查看
Given a binary search tree (BST), find the lowest common ancestor (LCA) of two given nodes in the BST.
According to the definition of LCA on Wikipedia: “The lowest common ancestor is defined
between two nodes v and w as the lowest node in T that has both v and w as descendants (where we allow a node to be a descendant of itself).”
For example, the lowest common ancestor (LCA) of nodes
Another example is LCA of nodes
since a node can be a descendant of itself according to the LCA definition.
Difficulty: Easy
用递归的方法,从上到下找节点,Python语法不熟悉。。全是CE。。
According to the definition of LCA on Wikipedia: “The lowest common ancestor is defined
between two nodes v and w as the lowest node in T that has both v and w as descendants (where we allow a node to be a descendant of itself).”
_______6______ / \ ___2__ ___8__ / \ / \ 0 _4 7 9 / \ 3 5
For example, the lowest common ancestor (LCA) of nodes
2and
8is
6.
Another example is LCA of nodes
2and
4is
2,
since a node can be a descendant of itself according to the LCA definition.
Difficulty: Easy
用递归的方法,从上到下找节点,Python语法不熟悉。。全是CE。。
# Definition for a binary tree node. # class TreeNode(object): # def __init__(self, x): # self.val = x # self.left = None # self.right = None class Solution(object): def lowestCommonAncestor(self, root, p, q): """ :type root: TreeNode :type p: TreeNode :type q: TreeNode :rtype: TreeNode """ if (p.val==root.val or q.val==root.val) or (p.val>root.val and q.val<root.val) or (p.val<root.val and q.val>root.val): return root elif p.val<root.val and q.val<root.val: return self.lowestCommonAncestor(root.left,p,q) elif p.val>root.val and q.val>root.val: return self.lowestCommonAncestor(root.right,p,q)
相关文章推荐
- Calculator| ||
- Leetcode #191 Number of 1 Bits
- Android Design Support Library之TabLayout
- 让Style帮你减少JAVA的错误
- vijos1058粘贴文本
- Debian8.1.0的fcitx输入法补充安装方可使用
- 使用m2Eclipse 通过 maven 自动部署webapp到weblogic 12c
- [LeetCode#207]Course Schedule
- 简单工厂模式——23种设计模式综合实例应用
- 中国本土管理咨询公司排名TOP50
- 2015年最新全球管理咨询公司排名
- 中国本土管理咨询公司排名TOP50
- 2015年最新全球管理咨询公司排名
- 二手房中介公司前十排行榜
- 二手房中介公司前十排行榜
- [Javascript] Linting JavaScript with ESLint
- cocos2dx layer理解
- Raspberry pi做成FM射频发射器
- cocos2dx 内存学习一
- 23种设计模式综合实例应用目录