Back to Practice Dashboard
Top 150 InterviewMedium
Same Binary Tree
Learn how to solve the 'Same Binary Tree' problem. This detailed resource details brute force and optimized approaches.
Problem Statement
Medium
Given the roots of two binary trees p and q, write a function to check if they are the same or not.
Two binary trees are considered the same if they are structurally identical, and the nodes have the same value.
The trees are represented as level-order lists. Implement a function isSameTree(p: list, q: list) -> bool.
Constraints
- •The number of nodes in both trees is in the range [0, 100]
- •-10000 <= Node.val <= 10000
Examples
Example 1
Input
[1,2,3], [1,2,3]
Output
True
Explanation
Both trees have the same structure and values.
Example 2
Input
[1,2], [1,None,2]
Output
False
Explanation
In the first tree, 2 is the left child. In the second tree, 2 is the right child. Different structures.
Example 3
Input
[1,2,1], [1,1,2]
Output
False
Explanation
Same structure but different values at the children.
Need a Hint?
Perform a recursive tree traversal (DFS) or level-order traversal (BFS) using a queue/stack.
Edge Cases to Watch
- Empty list or null input variables
- Single item lists/arrays
- Extremely large input bounds causing integer or stack overflow
Ready to Solve?
Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.