# 98-validate-binary-search-tree Try it on leetcode ## Description

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

A valid BST is defined as follows:

 

Example 1:

Input: root = [2,1,3]
Output: true

Example 2:

Input: root = [5,1,4,null,null,3,6]
Output: false
Explanation: The root node's value is 5 but its right child's value is 4.

 

Constraints:

## Solution(Python) ```Python # Definition for a binary tree node. # class TreeNode: # def __init__(self, val=0, left=None, right=None): # self.val = val # self.left = left # self.right = right class Solution: def isValidBST(self, root: Optional[TreeNode]) -> bool: return self.naive(root) # Time Complexity: O(n) # Space Complexity: O(h) def naive(self, root: Optional[TreeNode]) -> bool: def inorder(node): if node: inorder(node.left) res.append(node.val) inorder(node.right) res = [] inorder(root) if len(res) == 2: return res[0] < res[1] for i in range(1, len(res) - 1): if not (res[i - 1] < res[i] < res[i + 1]): return False return True ```