算法挑战22: 在二叉搜索树中找最近公共祖先

2 阅读1分钟

给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。

直接给出代码

var lowestCommonAncestor = function (root, p, q) {
    let x = root.val;
    //遍历前先做判断
   if (p.val < x && q.val < x) {
        return lowestCommonAncestor(root.left, p, q);
    }
    if (p.val > x && q.val > x) {
        return lowestCommonAncestor(root.right, p, q);
    }
    return root;
};