Given two binary trees, write a function to check if they are equal or not.

Two binary trees are considered equal if they are structurally identical and the nodes have the same value.

```/**
* Definition for a binary tree node.
* public class TreeNode {
*     int val;
*     TreeNode left;
*     TreeNode right;
*     TreeNode(int x) { val = x; }
* }
*/
class Solution {
public boolean isSameTree(TreeNode p, TreeNode q) {

if(q == null && p == null) return true;
if(!checks(p,q)) return false;
while(!nodesp.isEmpty()){
int n = nodesp.size();
while(n>0){
TreeNode currp = nodesp.poll();
TreeNode currq = nodesq.poll();
if(currq.val != currp.val) return false;
if(!checks(currq.right,currp.right)) return false;
if(!checks(currq.left,currp.left)) return false;
if(currp.left != null){
}
if(currp.right != null){
}
n--;
}

}
return true;
}
public boolean checks(TreeNode p, TreeNode q){
if(q == null && p == null) return true;
if((q ==null && p != null) || (p ==null && q != null)) return false;
int a =p.val;
int b = q.val;
if(p.val != q.val) return false;
return true;
}
}```