因为做过“按之字形顺序打印二叉树”和“把二叉树打印成多行”,开始想用每一层元素是否和逆序的该层元素相同来判断,但是有点麻烦。
于是写了简单的递归:

bool isSame(TreeNode* a,TreeNode *b)
{
    if(!a && !b)
        return true;
    if(a && b)
    {
        //cout<<a->val<<" "<<b->val<<endl;
        return (a->val == b->val)&&isSame(a->left,b->right)&&isSame(a->right,b->left);
    }
    return false;
}
bool isSymmetrical(TreeNode* pRoot)
{
    if(!pRoot)
        return true;
    return isSame(pRoot,pRoot);
}