因为做过“按之字形顺序打印二叉树”和“把二叉树打印成多行”,开始想用每一层元素是否和逆序的该层元素相同来判断,但是有点麻烦。
于是写了简单的递归:
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);
} 
京公网安备 11010502036488号