Tuesday, August 18, 2015

Leetcode 98. Validate Binary Search Tree

https://leetcode.com/problems/validate-binary-search-tree/

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