Recursive method is very powerful for tree problems.
Solution:
# T:O(n) S:O(lgn) class Solution: # @param root, a tree node # @return a boolean def ValidBST(self, root, min, max): if root == None: return True if root.val <= min or root.val >= max: return False return self.ValidBST(root.left, min, root.val) and\ self.ValidBST(root.right, root.val, max) def isValidBST(self, root): return self.ValidBST(root, -2147483649, 2147483648)Run Time: 96 ms
No comments:
Post a Comment