235-Lowest Common Ancestor of a Binary Search Tree

题目:二叉排序树最近公共祖先

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的最近公共节点。

posted @ 2019-08-18 17:19  尘世中一个迷途小书童  阅读(90)  评论(0编辑  收藏  举报