Convert a sorted linked list to a balanced BST

Asked atApple
1Give yourself 5 minutes
2Answer out loud, not in your head
3Then compare with the answer below
0
Stuck? Show a way to structure it+
  1. 01Count list length.
  2. 02Recursively build the left subtree for half the nodes.
  3. 03Use the current list node as root.
  4. 04Advance the shared list pointer.
  5. 05Build the right subtree from the remaining nodes.

Reference answer

Then expect these follow-ups

  • What is the complexity of repeated slow/fast midpoint splitting?

    Tests: complexity analysis

  • Why does inorder construction preserve BST order?

    Tests: correctness reasoning

Free to read · better with Enzo

Practice this out loud with Enzo

Enzo runs it as a mock interview, pushes back with follow-ups, and grades you on the rubric.

Next question

Convert a sorted linked list to a balanced BST