给定一个二叉树,检查它是否是镜像对称的。
例如,二叉树 [1,2,2,3,4,4,3] 是对称的。
但是 [1,2,2,null,3,null,3] 则不是镜像对称的:
方法:递归
lass Solution {
public:
bool isSymmetric(TreeNode* root)
{
if(!root)
return true;
return ismirror(root->left,root->right);
}
bool ismirror(TreeNode *p,TreeNode *q)
{
if(!p&&!q) return true;
if(!p||!q) return false;
return (p->val==q->val)&&ismirror(p->left,q->right)&&ismirror(p->right,q->left);
}
};