使用前根遍历和前根对称遍历,即根左右和根右左,然后判断两个指针的值是否相等
bool isSymmetrical(Node *root1,Node *root2){
if (root1==NULL&&root2==NULL)
{
return true;
}
if (root1==NULL||root2==NULL)
{
return false;
}
if (root1->data!=root2->data)
{
return false;
}
bool left=isSymmetrical(root1->left,root2->right);
bool right=isSymmetrical(root1->right,root2->left);
return left&&right;
}
//树是否对称
bool isSymmetry(Node *root){
return isSymmetrical(root,root);
}