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.

Open in Editor