天天看點

劍指 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 在兩側
    }