package code.wsq.notsubmit;
import java.util.LinkedList;
import java.util.Queue;
public class IsSameTree {
public boolean isSameTree(TreeNode p, TreeNode q) {
if((p != null && q == null) || (p == null && q != null)) {
return false;
}
if(p == null && q == null) {
return true;
}
Queue<TreeNode> pQueue = new LinkedList<TreeNode>();
Queue<TreeNode> qQueue = new LinkedList<TreeNode>();
boolean ans = true;
pQueue.offer(p);
qQueue.offer(q);
while(!pQueue.isEmpty()) {
TreeNode pNode = pQueue.poll();
TreeNode qNode = qQueue.poll();
if(pNode.val != qNode.val) {
ans = false;
break;
}
if(pNode.left != null && qNode.left != null) {
pQueue.offer(pNode.left);
qQueue.offer(qNode.left);
}else if(pNode.left == null && qNode.left == null) {
}else {
ans = false;
break;
}
if(pNode.right != null && qNode.right != null) {
pQueue.offer(pNode.right);
qQueue.offer(qNode.right);
}else if(pNode.right == null && qNode.right == null){
}else {
ans = false;
break;
}
}
return ans;
}
}