bool is_exist(TreeNode *root, int target) {if(root == nullptr) return false;if(root->val == target) return true;bool left = is_exist(root->left, target);bool right = is_exist(root->right, target);return left||right;}int res = -1;int lowestCommonAncestor(TreeNode* root, int A, int B) {if(root == nullptr) return -1;int left = lowestCommonAncestor(root->left, A, B);int right = lowestCommonAncestor(root->right, A, B);bool is_A = is_exist(root, A);bool is_B = is_exist(root, B);if(is_A && is_B && res == -1) {res = root->val;}return res;}这个解法我不知道怎么没通过,哪位大佬能帮忙看看是什么原因~ 「求助大佬帮看看这道算法题吧!」给定一棵二叉树以及这棵树上的两个节点 o1 和 o2,请找到 o1 和 o2 的最近公共祖先节点。 https://www.nowcoder.com/questionTerminal/e0cc33a83afe4530bcec46eba3325116