class Solution {
public:
int target;
bool fl = false;
int dfs(TreeNode* root, int p, int q) {
if (root == nullptr)return 0;
int cnt = dfs(root->left, p, q) + dfs(root->right, p, q);
if (root->val == p || root->val == q)cnt++;
if (cnt == 2 && !fl)target = root->val, fl = true;
return cnt;
}
int lowestCommonAncestor(TreeNode* root, int o1, int o2) {
target = root->val;
dfs(root, o1, o2);
return target;
}
};

京公网安备 11010502036488号