题目:二叉排序树最近公共祖先
def lowest_CommonAncestor(root,p,q):
if p.val <root.val > q.val:
return lowest_CommonAncestor(root.left,p,q)
if p.val >root.val <q.val:
return lowest_CommonAncestor(root.right,p,q)
return root
注:
采用递归来实现,利用二叉排序树的特点,如果根节点的值比p,q的值大,说明p,q都在根节点的左子树,递归遍历根节点的左子树;根节点的值比p,q值都小,同理,遍历右子树。当p,q的值在根节点两侧,说明此时根节点为p,q的最近公共节点。