leetcode 235. 二叉搜索树的最近公共祖先

本题与236. 二叉树的最近公共祖先非常像,但是本题是二叉搜索树,可以根据BST的性质,不需要全部遍历,只需要从上往下一次即可。

class Solution {
    public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) {
        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 node;
    }
}
posted @ 2022-02-15 20:01  livingsu  阅读(30)  评论(0)    收藏  举报