思路

手感火热,经过第100题之后,这题感觉手拿把恰

image-20241118143013229

把这棵树从中间切开

就跟上一题差不多了,判断两棵树是否相同,但是他是判断左孩子和对面的右孩子是否相同,修改最后一条代码即可

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
bool isSame(struct TreeNode*p,struct TreeNode* q){
if(p==NULL&&q==NULL){
return true;
}
else if(p==NULL||q==NULL){
return false;
}
else if(p->val!=q->val){
return false;
}
else{
return isSame(p->left,q->right)&&isSame(p->right,q->left);
}
}
bool isSymmetric(struct TreeNode* root) {
return isSame(root->left,root->right);
}