借用二叉树是否相同的代码改动左右孩子相等对应关系,即为是否对称。
/**
* 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;
if(p==NULL || q == NULL)
return false;
if(p->val != q->val)
{
return false;
}
return isSameTree(p->left,q->right)&& //此处更改为对称
isSameTree(p->right,q->left);
}
bool isSymmetric(struct TreeNode* root){
if(root == NULL)
return true;
else
return isSameTree(root->left, root->right);
}