题目描述:
题解:利用二叉搜索树的性质
1.如果当前root比输入p q节点值都要大,说明p,q和其共同祖先都在root.left
2.如果当前root比输入p q节点值都要小,说明p,q和其共同祖先都在root.right
3.否则root则为p q的公共祖先
class Solution(object): def lowestCommonAncestor(self, root, p, q): if root==None: return if root.val>p.val and root.val>q.val: return self.lowestCommonAncestor(root.left,p,q) elif root.val<p.val and root.val<q.val: return self.lowestCommonAncestor(root.right,p,q) else: return root