腾讯五十题No.42 二叉搜索树的最近公共祖先

题目链接

//二叉搜索树的特性

class Solution {
    TreeNode res = null;
    public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) {
        lca(root,p,q);
        return res;
    }
    public void lca(TreeNode root,TreeNode p,TreeNode q){
        //如果在根节点的两边,最小公共祖先就是根节点
        if((root.val - p.val) * (root.val - q.val)<=0){
            res = root;
        }else if(root.val<p.val && root.val < q.val){
            lca(root.right,p,q);
        }else{
            lca(root.left,p,q);
        }
    }
}

posted @ 2022-02-09 15:00  蹇爱黄  阅读(27)  评论(0)    收藏  举报