Leetcode 235 二叉搜索树的最近公共祖先 充分利用二叉搜索树的性质

Leetcode 235 二叉搜索树的最近公共祖先 充分利用二叉搜索树的性质_第1张图片

Leetcode 235 二叉搜索树的最近公共祖先 充分利用二叉搜索树的性质_第2张图片

这里要充分利用二叉搜素数的性质,和一般的二叉树的思路不同。

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

 

你可能感兴趣的:(算法)