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

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

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

定义cur=root,二叉搜索树的最近公共祖先一定介于p和q之间,因此只有在cur同时大于p,q,或者同时小于p,q的时候才需要移动,否则最大祖先就是cur。

class Solution:
    def lowestCommonAncestor(self , root: TreeNode, p: int, q: int) -> int:
        # write code here
        cur = root 
        while (cur.val - p) * (cur.val - q) > 0:
            if cur.val > p:
                cur = cur.left
            else:
                cur = cur.right
        return cur.val
                
全部评论

相关推荐

头像
11-09 17:30
门头沟学院 Java
TYUT太摆金星:我也是,好几个华为的社招找我了
点赞 评论 收藏
分享
听说改名字就能收到offer哈:Radis写错了兄弟
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务