Long Winded C++ Solution


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

Log in to reply
 

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