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

  • 0
    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

    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.