Accepted C recursive solution

  • 2

    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.