解题思路:
(1)递归
/**
* struct TreeNode {
* int val;
* struct TreeNode *left;
* struct TreeNode *right;
* };
*/
class Solution {
public:
TreeNode* helper(TreeNode *root,int o1,int o2) {
if(root==nullptr || root->val==o1 || root->val==o2) return root;
TreeNode *left=helper(root->left,o1,o2);
TreeNode *right=helper(root->right,o1,o2);
if(!left) return right;
if(!right) return left;
return root;
}
int lowestCommonAncestor(TreeNode* root, int o1, int o2) {
return helper(root,o1,o2)->val;
}
};