https://leetcode.cn/problems/symmetric-tree/?envType=study-plan-v2&envId=top-100-liked
对称二叉树即镜像二叉树。
我们可以用r1和r2两个指针来判断。
如果r1和r2均为空,那就true;如果r1和r2只有一个为空,就false;如果r1,r2不为空,但r1->val != r2->val,就false。如果r1->val == r2->val,就递归r1->left和r2->right,以及r1->right和r2->left。
bool Check(struct TreeNode* r1,struct TreeNode* r2)
{
if(r1 == NULL && r2 == NULL)
return true;
else if(r1 == NULL || r2==NULL )
return false;
else if(r1->val != r2->val)
return false;
return Check(r1->left,r2->right) && Check(r1->right,r2->left);
}
bool isSymmetric(struct TreeNode* root) {
return Check(root->left,root->right);
}