Section 1Understand Problem
Section 01
Understand the problem
Restate the problem precisely. Interviewers reward candidates who pause, define the contract, and name the guarantees before coding.
Problem statement
Given a binary tree, find the lowest common ancestor (LCA) of two given node values `p` and `q` in the tree. According to the definition: the lowest common ancestor is defined between two nodes p and q as the lowest node in T that has both p and q as descendants (where we allow a node to be a descendant of itself). Return the *value* of the LCA node (instead of the node itself, for unit-test parity).
Example
root = [3,5,1,6,2,0,8,null,null,7,4], p = 5, q = 1 → 3
Constraints
2 ≤ tree size ≤ 10⁵ · −10⁹ ≤ Node.val ≤ 10⁹ · All Node.val are unique · p ≠ q, both exist
Audio recording unsupported on this browser.
WPM—Fillers0Pace—Thinking0%
Explain the problem in your own words
0 words0 chars
AI Review
Write your thinking above first.
Once you've drafted a response, click Submit for AI review and a senior engineer will critique your reasoning.
Ready to submit Section 1?
The reviewer will check whether you stated inputs, output, guarantees, and any assumption you flagged.
Write at least a couple of sentences explaining the problem before submitting.