235. 二叉搜索树的最近公共祖先
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/lowest-common-ancestor-of-a-binary-search-tree
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
由于是二叉搜索树,所以可以找准确的分支。
// 由于是二叉搜索树,所以从上至下遍历时,可以准确的选择分支。
public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) {
// TreeNode cur= root;
// while(cur != null) {
// if(cur.val < p.val && cur.val < q.val) {
// cur = cur.right;
// } else if(cur.val > p.val && cur.val > q.val) {
// cur = cur.left;
// } else {
// return cur;
// }
// }
// return null;
if(root.val < p.val && root.val < q.val) {
return lowestCommonAncestor(root.right,p,q);
} else if(root.val > p.val && root.val > q.val) {
return lowestCommonAncestor(root.left,p,q);
} else {
return root;
}
}