题目:
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.
public class SameTree {
boolean isDiff;
public boolean isSameTree(TreeNode p, TreeNode q) {
if(p == null && q == null){
return true;
}
isSame(p, q);
return !isDiff;
}
private void isSame(TreeNode p, TreeNode q){
if(isDiff){
return;
}
if(p == null && q == null){
return;
}else if((p == null && q != null) || (p != null && q == null)){
isDiff = true;
}else{
if(p.val == q.val){
isSame(p.left, q.left);
isSame(p.right, q.right);
}else{
isDiff = true;
}
}
}
public static void main(String[] args) {
}
}