/**
* struct TreeNode {
* int val;
* struct TreeNode *left;
* struct TreeNode *right;
* };
*/
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param root TreeNode类
* @param o1 int整型
* @param o2 int整型
* @return int整型
*/
struct TreeNode *reverseTree(struct TreeNode* root, int o1, int o2 ) {
if(root == NULL) {
return NULL;
}
if(root->val == o1 || root->val == o2) {
return root;
}
struct TreeNode *left = reverseTree(root->left, o1, o2);
struct TreeNode *right = reverseTree(root->right, o1, o2);
if(left != NULL && right != NULL) {
return root;
}
else if(left == NULL && right != NULL) {
return right;
} else if(left != NULL && right == NULL) {
return left;
} else {
return NULL;
}
}
int lowestCommonAncestor(struct TreeNode* root, int o1, int o2 ) {
// write code here
struct TreeNode *node = reverseTree(root, o1, o2);
return node->val;
}
二叉树的最近公共祖先
最新推荐文章于 2024-06-15 23:36:03 发布