力扣-二叉树-235 二叉搜索树的最近公共祖先

思路

重点抓住二叉搜索树的特点是有序,然后思考清楚搜索到的p和q情况

class Solution {
public:
    
    TreeNode* lowestCommonAncestor(TreeNode* root, TreeNode* p, TreeNode* q) {
        if(root == NULL) return NULL;
        if(root->val < p->val && root->val < q->val){
            TreeNode* right = lowestCommonAncestor(root->right, p, q);
            if(right != NULL) return right;
        }else if(root->val > p->val && root->val > q->val){
            TreeNode* left = lowestCommonAncestor(root->left, p, q);
            if(left != NULL) return left;
        }
        return root;
    }
};

你可能感兴趣的:(力扣,#,二叉树,leetcode,算法)