1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| class Solution { public: TreeNode* lowestCommonAncestor(TreeNode* root, TreeNode* p, TreeNode* q) { if(root == NULL) return NULL; if(root == p || root == q) return root; TreeNode* left = lowestCommonAncestor(root->left, p, q); TreeNode* right = lowestCommonAncestor(root->right, p, q); if(left == NULL) return right; if(right == NULL) return left; if(left && right) return root; return NULL; } };
|