首页 > 代码库 > LeetCode:Symmetric Tree

LeetCode:Symmetric Tree

题目描述:

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);
}



LeetCode:Symmetric Tree