---
# System prepended metadata

title: Leetcode 100. Same Tree
tags: [Breadth-first search, Leetcode]

---

# Leetcode 100. Same Tree
###### tags: `Leetcode` `Breadth-first search`

題目 
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


解法:
1.breadth-first search



＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝

```
/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     struct TreeNode *left;
 *     struct TreeNode *right;
 * };
 */

bool isSameTree(struct TreeNode* t1, struct TreeNode* t2){
    if(!t1 && !t2)
        return true;   
    if(!t1 || !t2)
        return false;  
    return (t1->val == t2->val)&&isSameTree(t1->left, t2->left)&&isSameTree(t1->right, t2->right);
}
```