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

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

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

牛客这里题目经常不明确,节点和节点值应当明显区分一下
给的输入例子,也有时候明明是字符串型'1',输入中显示给的却是 1

# class TreeNode:
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None

#
# 
# @param root TreeNode类 
# @param o1 int整型 
# @param o2 int整型 
# @return int整型
#
class Solution:
    def lowestCommonAncestor(self , root , o1 , o2 ):
        # write code here
        def haschild(root, o1, o2):
            if root is None or self.ancestor is not None:
                return False
            ans = root.val == o1 or root.val == o2
            lson = haschild(root.left, o1, o2)
            rson = haschild(root.right, o1, o2)
            if (lson and rson) or (ans and (lson or rson)):
                self.ancestor = root.val
                return 
            return ans or lson or rson
        self.ancestor = None
        haschild(root, o1, o2)
        return self.ancestor
全部评论

相关推荐

不愿透露姓名的神秘牛友
昨天 17:13
想去,但是听说加班强度实在难崩,所以拒绝了,现在有点心梗对面hr感觉也是实习生,打电话的时候怪紧张的,但是感觉人很好嘞
水中水之下水道的鼠鼠:哥们这不先去体验一下,不行再跑呗,大不了混个实习经历(有更好的转正offer就当我没说)
点赞 评论 收藏
分享
重生我想学测开:嵌入式的问题,我准备入行京东外卖了
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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