题解 | #二叉搜索树的最近公共祖先#
二叉搜索树的最近公共祖先
http://www.nowcoder.com/practice/d9820119321945f588ed6a26f0a6991f
public int lowestCommonAncestor (TreeNode root, int p, int q) { if (p < root.val && q < root.val) return lowestCommonAncestor(root.left, p, q); if (p > root.val && q > root.val) return lowestCommonAncestor(root.right, p, q); return root.val; }只要在root的值在两个中间,那他就是公共祖先,直接返回val就好。如果不是,要么都在左,或者都在右边,那就遍历,直到在中间为止。这里包含了相等的情况,直接排序都大和都小就可以返回。