class Solution {
public:
bool isSameTree(TreeNode* p, TreeNode* q) {
if(p == NULL&& q ==NULL) return true;
if(p == NULL||q ==NULL) return false;
bool is_same = true;
if(p->val == q->val){
if(p->left!=NULL&&q->left!=NULL){
is_same = isSameTree(p->left, q->left);
if(!is_same) return false;
}else{
if(p->left != NULL&&q->left == NULL){
return false;
}
if(p->left == NULL&&q->left != NULL){
return false;
}
}
if(p->right!=NULL&&q->right!=NULL){
is_same = isSameTree(p->right, q->right);
if(!is_same) return false;
}else{
if(p->right != NULL&&q->right == NULL){
return false;
}
if(p->right == NULL&&q->right != NULL){
return false;
}
}
return true;
}
return false;
}
};