Accepted C recursive solution


  • 2
    R

    well, it's too simple to explain,just make use of BST

    struct TreeNode* lowestCommonAncestor(struct TreeNode* root, struct TreeNode* p, struct TreeNode* q) {
        
        	if (p->val<root->val && q->val<root->val)
        		return lowestCommonAncestor(root->left,p,q);
        	if (p->val>root->val && q->val>root->val)
        		return lowestCommonAncestor(root->right,p,q);
        	return root;
        }

Log in to reply
 

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