牛客这里题目经常不明确,节点和节点值应当明显区分一下
给的输入例子,也有时候明明是字符串型'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