题目描述:
代码:
class Solution(object):
#递归遍历二叉树
def lowestCommonAncestor(self, root, p, q):
#如果递归超过边界,或者root等于pq则返回
if not root or root == p or root == q:return root
left = self.lowestCommonAncestor(root.left,p,q)
right = self.lowestCommonAncestor(root.right,p,q)
#如果左右子树都没找到,则返回空
if not left and not right : return None
#存在于其中一个子树,则返回
if left : return left
if right : return right
#左子树与右子树都有则返回根节点
return root