题解_1
/**
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* struct TreeNode *left;
* struct TreeNode *right;
* };
*/
bool isSameTree(struct TreeNode* p, struct TreeNode* q){
if(p == NULL && q == NULL){
return true;
}else if(p == NULL && q != NULL){
return false;
}else if (p != NULL && q == NULL){
return false;
}else {
if(p->val != q->val){
return false;
}else {
return isSameTree(p->left, q->left) && isSameTree(p->right, q->right);
}
}
}
题解_2
/**
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* struct TreeNode *left;
* struct TreeNode *right;
* };
*/
bool isSameTree(struct TreeNode* p, struct TreeNode* q){
if(!p && !q){
return true;
}else if((p && !q) || (!p && q)){
return false;
}else{
if(p->val != q->val){
return false;
}else{
return isSameTree(p->left,q->left) && isSameTree(p->right,q->right);
}
}
}