天天看点

剑指 Offer 68 - I. 二叉搜索树的最近公共祖先(递归)

题目

剑指 Offer 68 - I. 二叉搜索树的最近公共祖先(递归)

由于是二叉搜索树所以可以逐步确定区间

如果都q和p的值都在当前结点的右侧 向右递归

如果都q和p的值都在当前结点的左侧 向左递归

如果在两侧直接返回当前结点

public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) {
        if (root.val > p.val && root.val > q.val)
            return lowestCommonAncestor(root.left,p,q);
        if (root.val < p.val && root.val < q.val)
            return lowestCommonAncestor(root.right,p,q);
        return root;//p,q 在两侧
    }