题解 | #在二叉树中找到两个节点的最近公共祖先#

在二叉树中找到两个节点的最近公共祖先

https://www.nowcoder.com/practice/e0cc33a83afe4530bcec46eba3325116

struct TreeNode* low(struct TreeNode* root, int o1, int o2) {
    if (root == NULL || root->val == o1 || root->val == o2) {
        return root;
    }
    struct TreeNode* left = low(root->left, o1, o2);
    struct TreeNode* right = low(root->right, o1, o2);
    if (left != NULL && right != NULL) {
        return root;
    }
    return left != NULL ? left : right;
}
int lowestCommonAncestor(struct TreeNode* root, int o1, int o2 ) {
    return low(root,o1,o2)->val;
}

全部评论

相关推荐

粗心的雪碧不放弃:纯学历问题,我这几个月也是一直优化自己的简历,后来发现优化到我自己都觉得牛逼的时候,发现面试数量也没有提升,真就纯学历问题
点赞 评论 收藏
分享
10-09 09:39
门头沟学院 C++
HHHHaos:这也太虚了,工资就一半是真的
点赞 评论 收藏
分享
1 收藏 评论
分享
牛客网
牛客企业服务