11. Same Tree
easyAsked at BrexDetermine whether two binary trees are structurally identical with the same values.
By Alex Chen, Founder, InterviewChamp.AI · Last verified
Problem
Given the roots of two binary trees p and q, write a function to check if they are the same tree. Two binary trees are considered the same if they are structurally identical and the nodes have the same values.
Constraints
Nodes in each tree in [0, 100]-10^4 <= node value <= 10^4
Examples
Example 1
p = [1,2,3], q = [1,2,3]trueExample 2
p = [1,2], q = [1,null,2]falseApproaches
1. Serialize and compare
Preorder-serialize each tree to a string and string-compare.
- Time
- O(n)
- Space
- O(n)
const ser=(n)=>n?`${n.val},${ser(n.left)},${ser(n.right)}`:'#';
return ser(p)===ser(q);Tradeoff:
2. Parallel recursion
Recurse both trees together and short-circuit on first mismatch.
- Time
- O(n)
- Space
- O(h)
function isSameTree(p, q) {
if (!p && !q) return true;
if (!p || !q) return false;
if (p.val !== q.val) return false;
return isSameTree(p.left, q.left) && isSameTree(p.right, q.right);
}Tradeoff:
Brex-specific tips
Brex uses this pattern to compare two snapshots of an approval graph before and after a policy change, so call out that you'd hash and cache subtrees to detect drift across thousands of org charts.
Solve it now
Free. No sign-up. Python and JavaScript run instantly in your browser.
Practice these live with InterviewChamp.AI
Drill Same Tree and other Brex interview questions under real-loop conditions with instant feedback on your reasoning, complexity claims, and code.
Practice these live with InterviewChamp.AI →