Loading…
Recover Binary Search Tree is a hard coding interview question covering trees, binary search — the kind asked at FAANG (Facebook/Meta, Apple, Amazon, Netflix, Google) and AI-first companies like Anthropic, OpenAI, and Nvidia.
Two nodes of a BST are swapped by mistake. Recover the tree without changing its structure (in O(1) extra space).
Example: given a BST where nodes 1 and 3 are swapped, restore the correct BST.
Inorder traversal of a valid BST produces a sorted sequence. Find the two nodes that violate this property.
O(n) time, O(1) space using Morris inorder traversal.
Solution walkthrough on Pro
Upgrade to Pro to unlock the guided hints, the step-by-step walkthrough, solutions in Python, C++, Java, and Go, and complexity analysis.
What's inside this guide
Fully unlocked, no account needed — solutions, walkthroughs and follow-up answers included.
Or start the Study Plan — a week-by-week order for your loop, and week 1 is entirely free.
A full interview loop is more than one round. These are the others, each with what is on the site for it.