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.

**Example 1:**

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

**Output:** true

**Example 2:**

**Input:** p = [1,2], q = [1,null,2]

**Output:** false

**Example 3:**

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

**Output:** false

**Constraints:**

- The number of nodes in both trees is in the range
`[0, 100]`

. `-104 <= Node.val <= 104`

**Solution:**