解题思路:
分三种情况:1、左子树和右子树都为空,这种情况是对称的 2、左子树为空或右子树为空,这种情况肯定是不对称的 3、一般情况,如果同时满足值相等,左右对称则为true,否则为false
bool isSymmetric(TreeNode* root) {
isEqual(root,root);
}
bool isEqual(TreeNode* p,TreeNode *q)
{
if(!p && !q) return true;
if(!p || !q) return false;
return (p->val==q->val)&&isEqual(p->left, q->right) && isEqual(p->left, q->right);
}