My C++ Solution in 3 lines, easy to understand.


  • 0
    S
    TreeNode* lowestCommonAncestor(TreeNode* root, TreeNode* p, TreeNode* q) {
        if(root->val<=p->val && root->val>=q->val || root->val>=p->val && root->val<=q->val)    return root;
        if(root->val<=p->val && root->val<=q->val)  return lowestCommonAncestor(root->right, p, q);
        return lowestCommonAncestor(root->left, p, q);
    }

  • 0
    B

    How can we know the next val of root?


Log in to reply
 

Looks like your connection to LeetCode Discuss was lost, please wait while we try to reconnect.