题目描述:
Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center).
For example, this binary tree is symmetric:
1 / 2 2 / \ / 3 4 4 3
But the following is not:
1 / 2 2 \ 3 3
代码:
bool Solution::equalTree(TreeNode * a,TreeNode * b)
{
    if(a == NULL && b == NULL)
        return true;
    else if(a == NULL && b != NULL)
        return false;
    else if(a != NULL && b == NULL)
        return false;
    if(a->val == b->val)
    {
        if(equalTree(a->left,b->right) && equalTree(b->left,a->right))
            return true;
        else
            return false;
    }
    return false;
}
bool Solution::isSymmetric(TreeNode *root)
{
    if(root == NULL)
        return true;
    return equalTree(root->left,root->right);
}
原文地址:http://blog.csdn.net/yao_wust/article/details/40787371