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; } };