leetcode 235. Lowest Common Ancestor of a Binary Search Tree

最低共同祖先,肯定值处于两者之间,而且是第一个这样的节点

所以就像二分搜索一样,当前节点值都大于p和q,则向左走,反之向右走

当碰到介于两者之间时,说明当前节点就是我们要找的

 

class Solution {
    public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) {
        if(root.val > p.val && root.val > q.val)
            return lowestCommonAncestor(root.left, p, q);
        else if(root.val < p.val && root.val < q.val)
            return lowestCommonAncestor(root.right, p, q);
        else 
            return root;
    }
    
}

 

posted @ 2019-08-16 01:49  南山南北秋悲  阅读(129)  评论(0编辑  收藏  举报