# Validate Binary Search Tree

The problem states that we will be given a binary tree and we have to determine if it is a valid binary search tree(BST) or not. you can find this problem in ** Leetcode** and in

*Hackerrank**.*

*First of all, what is a binary tree?*

A binary tree is a tree that has at most two child nodes.

*Then what is a binary search tree?*

A binary search tree(BST) is a kind of binary tree where each node is greater than its left node and smaller than its right node.

If you do not know how to implement a binary search tree you read ** my post** about it.

In the above picture, we have a valid binary search tree(BST). In order to validate a BST, we have to check if the current node is greater than the left node and smaller than the right node. If the whole tree abides by this rule then it is a valid BST, otherwise, it is not.

*Code:*

*How does the code work?*

As we will be comparing each node with its left and right node, initially we don’t know the right and left node…