[LC] 98. Validate Binary Search Tree

匿名 (未验证) 提交于 2019-12-03 00:15:02

Given a binary tree, determine if it is a valid binary search tree (BST).

Assume a BST is defined as follows:

  • Both the left and right subtrees must also be binary search trees.

Example 1:

 

Example 2:

 
# Definition for a binary tree node. # class TreeNode: #     def __init__(self, x): #         self.val = x #         self.left = None #         self.right = None  class Solution:     def isValidBST(self, root: TreeNode) -> bool:         import sys         right_bound = sys.maxsize         left_bound = -sys.maxsize - 1         return self.helper(root, left_bound, right_bound)              def helper(self, root, left_bound, right_bound):         if root is None:             return True         if root.val <= left_bound or root.val >= right_bound:             return False         return self.helper(root.left, left_bound, root.val) and self.helper(root.right, root.val, right_bound)                  

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!