/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
class Solution {
//最近公共祖先 k
//满足:p在k的左子树 q在k的右子树
//如果p和q在k的同一个子树下,k就不是最近的
public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) {
if(root == null) return null;
TreeNode node = root;
while(node != null){
if(node.val > p.val && node.val > q.val){
node = node.left;
}else if(node.val < p.val && node.val < q.val){
node = node.right;
}else{
return node;
}
}
return null;
}
}
235. 二叉搜索树的最近公共祖先
最新推荐文章于 2025-08-02 12:01:09 发布