Skip to content
Binary TreesMedium

14. Check if Tree is a BST ⭐

Validates BST property across all subtrees using range bounds (low < node.val < high) at each recursive step.

Time O(n) Space O(h)
Open in 3D Studio

Live loop — open the studio to scrub, add your own array, or race it in Battle Arena.

Asked in interviews at

SpotifyGoogleAirbnb

Reference implementation (Python)

def is_valid_bst(root, low=float('-inf'), high=float('inf')):
    if not root:
        return True
    if not (low < root.val < high):
        return False
    return (is_valid_bst(root.left, low, root.val) and 
            is_valid_bst(root.right, root.val, high))

Embed this visualization

Drop a live, looping 14. Check if Tree is a BST ⭐ canvas into a blog post or course page.

<iframe src="/embed/is-valid-bst" width="100%" height="380" style="border:1px solid #e6e8ec;border-radius:14px" loading="lazy" title="3D algorithm visualization by CodeWithMunnaX"></iframe>

Frequently asked

What is the time and space complexity of 14. Check if Tree is a BST ⭐?

14. Check if Tree is a BST ⭐ runs in O(n) time and O(h) auxiliary space.

Is the 14. Check if Tree is a BST ⭐ visualizer free?

The core 3D visualizer, Web Audio chimes and step intuition are free. A one-time ₹49 Pro Pass unlocks advanced algorithms, large custom arrays, Battle Arena and reel export.

Which companies ask 14. Check if Tree is a BST ⭐ in interviews?

14. Check if Tree is a BST ⭐ shows up in interviews at Spotify, Google, Airbnb.

How does the 3D visualization of 14. Check if Tree is a BST ⭐ work?

Each array value becomes a 3D pillar whose height maps to its value. Comparisons glow amber, swaps flash red, and settled elements lock green while a floating pointer badge tracks the active index — synchronized line-by-line with the Python code.

More Binary Trees