AlgoLounge

Same Tree

easy

LeetCode 100. Same Tree

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.

Examples

Example 1

Input:  p = [1,2,3], q = [1,2,3]

p: q: 1 1 / \ / \ 2 3 2 3Output: true Both trees have identical structure and values.

Example 2

Input:  p = [1,2], q = [1,null,2]
Output: false

First tree has left child, second tree has right child.

Example 3

Input:  p = [1,2,1], q = [1,1,2]
Output: false

The children values are swapped.

Constraints

  • The number of nodes in both trees is in the range [0, 100]
  • -10^4 <= Node.val <= 10^4

How the tests work: trees are written as level-order arrays — [1,null,2] is a root 1 with a right child 2. Your function receives real TreeNode objects.

TypeScript
Loading editor…
List of test cases (10)
Case 1
p = [1,2,3]
q = [1,2,3]
Case 2
p = [1,2]
q = [1,null,2]
Case 3
p = [1,2,1]
q = [1,1,2]
Case 4
p = []
q = []
Case 5
p = [1]
q = [1]
Case 6
p = [1]
q = [2]
Case 7
p = [1,2,3,4,5]
q = [1,2,3,4,5]
Case 8
p = [1,2,3,4,5]
q = [1,2,3,4,6]
Case 9
p = [1,null,2,null,3]
q = [1,null,2,null,3]
Case 10
p = [1]
q = []