01
02
03
04
05
06
07
08
09
10
11
A
A2Z Sheet

343. Check if a tree is a BST or not

Medium
Step 14: Binary Search Trees [Concept and Problems]›Practice Problems

Check if a tree is a BST or not

MediumFunction: checkIfATreeIsABstOrNot()
ASCI Mission Breakdown • Simple as Hell
"Master Check if a tree is a BST or not: Take `root` (number[]), execute an optimal practice problems strategy, and return boolean with clean edge-case handling."
Real-World Metaphor:

Think of Check if a tree is a BST or not as an everyday real-world challenge: you receive input data, inspect its elements in sequence without making unnecessary duplicate passes, and transform the collection to reach the exact target without wasting computer memory.

Interactive Visual WalkthroughBINARY-TREE
Step 1 / 3
StatusInitialized
ModeScanning
Evaluating

1. Initialize State for Check if a tree is a BST or not

Load inputs and initialize algorithmic registers.

How to Think About This (Mental Model)

  1. Unpack the problem parameters (`root` (number[])) and clarify what is given vs what must be returned.
  2. Identify the optimal data structure or pattern (e.g. pointers, hash map, or stack) to avoid redundant recalculations.
  3. Walk through state transitions, handle edge cases (empty collections, single items, negative numbers), and return the verified result.

Given the root of a binary tree (represented as level-order array `root`), compute the solution for **Check if a tree is a BST or not**. Account for null nodes and recursive subproblem properties.

Examples

Example 1
Input: root = [3,9,20,null,null,15,7]
Output: true

Constraints

  • The number of nodes in the tree is in the range [0, 10^4].
  • -1000 <= Node.val <= 1000
Topic Tags:
Binary Search Trees [Concept and Problems]Practice ProblemscheckIfATreeIsABstOrNot
14px
Ln 1:Col 1
8 lines•126 chars
Spaces: 2•UTF-8
JS(Node v20.12)