# Leetcode Validate-Binary-Search-Tree #### 2022-07-08 10:36 > ##### Algorithms: > #algorithm #DFS #DFS_inorder > ##### Data structures: > #DS #binary_tree #binary_search_tree > ##### Difficulty: > #coding_problem #difficulty-medium > ##### Additional tags: > #leetcode #CS_list_need_practicing > ##### Revisions: > N/A ##### Related topics: ```expander tag:#DFS_inorder ``` - [[Leetcode Binary-Tree-Inorder-Traversal]] ##### Links: - [Link to problem](https://leetcode.com/problems/validate-binary-search-tree/) ___ ### Problem Given the `root` of a binary tree, _determine if it is a valid binary search tree (BST)_. A **valid BST** is defined as follows: - The left subtree of a node contains only nodes with keys **less than** the node's key. - ==The right subtree of a node contains only nodes with keys **greater than** the node's key.== - Both the left and right subtrees must also be binary search trees. #### Examples **Example 1:** ![](https://assets.leetcode.com/uploads/2020/12/01/tree1.jpg) **Input:** root = [2,1,3] **Output:** true **Example 2:** ![](https://assets.leetcode.com/uploads/2020/12/01/tree2.jpg) **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 - The number of nodes in the tree is in the range `[1, 104]`. - `-231 <= Node.val <= 231 - 1` ### Thoughts > [!summary] > This is a #DFS #DFS_inorder problem. I have thought a lot of recursion methods, but at last I realized: > [!tip] The feature of > For a BST, DFS inorder search returns an array of ascending numbers. The ### Solution