235. 二叉搜索树的最近公共祖先
给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。
- 所有节点的值都是唯一的。
p
、q
为不同节点且均存在于给定的二叉搜索树中。
示例:
输入1:
p=2
q=8
输出1:
6
解答:
def lowestCommonAncestor(self, root: 'TreeNode', p: 'TreeNode', q: 'TreeNode') -> 'TreeNode':
if p.val>root.val and q.val>root.val:
return self.lowestCommonAncestor(root.right,p,q)
elif p.val<root.val and q.val<root.val:
return self.lowestCommonAncestor(root.left,p,q)
else:
return root