题目描述:
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