0 XP · 0 scenes

Lowest Common Ancestor of a Binary Tree

MediumRecursion: report what you found below
Open on LeetCode ↗

1Try it yourself first

00:00

Think for 20-30 minutes before you open any hint. Being stuck is where the learning happens.

Only for you, saved in this browser. After you see the approach you will compare it with your idea.

2What is being asked

Given two nodes p and q in a binary tree, find their lowest common ancestor: the deepest node that has both of them below it (a node counts as below itself).

How to recognise itAsk each subtree "did you find p or q?". The first node that hears "yes" from both sides, or is one of them and hears yes from below, is the answer.

3Hint ladder

Take one rung at a time. Stop as soon as the idea clicks.

  1. Hint 1
  2. Hint 2

4The approach

Have you tried the hints? The approach is built as a path from the obvious way to the clever one.

✓After you finish

Confidence