二叉搜索树两个节点的最近公共祖先

思路是 根据二叉搜索树的特性,左子树小于根节点小于右子树,若节点的值都小于两个目标节点,则遍历其右子树;若大于两个目标节点,则遍历其左子树;
但是测试用例只能通过15%,请问大佬是什么原因呢
class Solution {
public:
    /**
     *
     * @param root TreeNode类
     * @param o1 int整型
     * @param o2 int整型
     * @return int整型
     */
    int lowestCommonAncestor(TreeNode* root, int o1, int o2) {
        if(root == nullptr || root->val == o1 || root->val == o2)
            return root->val;
        if(root->val > o1 && root->val> o2)
            return lowestCommonAncestor(root->left,o1,o2);
        else if(root->val <o1 && root->val <o2)
            return lowestCommonAncestor(root->right,o1,o2);
        else
            return root->val;
    }
};


#笔试题目#
全部评论
你这root == nullptr, 还返回root.val不会报NullPointException么
2 回复 分享
发布于 2020-09-20 14:58
leetcode有原题
点赞 回复 分享
发布于 2020-09-20 20:19

相关推荐

挣K存W养DOG:他真的很中意你,为什么不回他
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务