> For the complete documentation index, see [llms.txt](https://emmaguo100.gitbook.io/leetcode/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://emmaguo100.gitbook.io/leetcode/100.-same-tree.md).

# 100. Same Tree

```
// Some code
class Solution {
    public boolean isSameTree(TreeNode p, TreeNode q) {
        return compare(p, q);
        
    }
    private boolean compare(TreeNode p, TreeNode q){
        if (p == null && q != null) return false;
        else if (p != null && q == null) return false;
        else if (p == null && q == null) return true;
        else if (p.val != q.val) return false;
        
        return compare(p.left, q.left) && compare(p.right, q.right);
    }
}
```

```
// Some code

class Solution {
    public boolean isSameTree(TreeNode p, TreeNode q) {
        return compare(p, q);
        
    }
    private boolean compare(TreeNode p, TreeNode q){
        if (p == null && q == null) return true;
        if (p == null || q == null) return false;
        if (p.val != q.val) return false;
        
        return compare(p.left, q.left) && compare(p.right, q.right);
    }
}
```

```
// Some code
class Solution {
    public boolean isSameTree(TreeNode p, TreeNode q) {
        // if (p == null && q == null) return true;
        // if (p == null || q == null) return false;
        // if (p.val != q.val) return false;
        Queue<TreeNode> queue = new LinkedList<>();
        queue.offer(p);
        queue.offer(q);
        
        while (!queue.isEmpty()){
            TreeNode first = queue.poll();
            TreeNode second = queue.poll();
            
            if (first == null && second == null) continue;
            if (first == null || second == null) return false;
            if (first.val != second.val) return false;
            queue.offer(first.left);
            queue.offer(second.left);
            queue.offer(first.right);
            queue.offer(second.right);
        }
        return true;
        
    }
}
```
