题解 | #二叉搜索树的最近公共祖先#
二叉搜索树的最近公共祖先
https://www.nowcoder.com/practice/d9820119321945f588ed6a26f0a6991f
/* * function TreeNode(x) { * this.val = x; * this.left = null; * this.right = null; * } */ /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param root TreeNode类 * @param p int整型 * @param q int整型 * @return int整型 */ function lowestCommonAncestor(root, p, q) { // write code here if (!root) { return -1; } if ( (root.val - p) * (root.val - q) <= 0 //如果root 在 p q 的值中间 ) { return root.val; } let l = lowestCommonAncestor(root.left, p, q); let r = lowestCommonAncestor(root.right, p, q); return r != -1 ? r : l; } module.exports = { lowestCommonAncestor: lowestCommonAncestor, };