题解 | #二叉搜索树的最近公共祖先#

二叉搜索树的最近公共祖先

http://www.nowcoder.com/practice/d9820119321945f588ed6a26f0a6991f

    public int lowestCommonAncestor (TreeNode root, int p, int q) {
        if (p < root.val && q < root.val)
            return lowestCommonAncestor(root.left, p, q);
        if (p > root.val && q > root.val)
            return lowestCommonAncestor(root.right, p, q);
        return root.val;
    }
只要在root的值在两个中间,那他就是公共祖先,直接返回val就好。如果不是,要么都在左,或者都在右边,那就遍历,直到在中间为止。这里包含了相等的情况,直接排序都大和都小就可以返回。
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-01 17:13
想去,但是听说加班强度实在难崩,所以拒绝了,现在有点心梗对面hr感觉也是实习生,打电话的时候怪紧张的,但是感觉人很好嘞
水中水之下水道的鼠鼠:哥们这不先去体验一下,不行再跑呗,大不了混个实习经历(有更好的转正offer就当我没说)
点赞 评论 收藏
分享
每晚夜里独自颤抖:你cet6就cet6,cet4就cet4,你写个cet证书等是什么意思。专业技能快赶上项目行数,你做的这2个项目哪里能提现你有这么多技能呢
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务