题解 | #二叉搜索树的最近公共祖先#
二叉搜索树的最近公共祖先
https://www.nowcoder.com/practice/d9820119321945f588ed6a26f0a6991f
递归思想:找到第一个比p大,比q小的节点
//递归思想:找到第一个比p大,比q小的节点
public int lowestCommonAncestor (TreeNode root, int p, int q) {
// write code here
if(root.val>p&&root.val<q)return root.val;
//在root=p或q时,相等节点就为公共祖先
if(root.val==p||root.val==q) return root.val==p?p:q;
//如果同大或者同小于,则应去子树中寻找
if(root.val>p&&root.val>q)return lowestCommonAncestor(root.left,p,q);
return lowestCommonAncestor(root.right,p,q);
}

查看11道真题和解析