面试题59:请实现一个函数,用来判断一颗二叉树是不是对称的,如果一颗二叉树和他的镜像一样,那么他是对称的。
//对称的二叉树
bool isSymmetric(BinaryTreeNode* pRoot1,BinaryTreeNode* pRoot2){
if(pRoot1==NULL&&pRoot2==NULL)
return true;
if(pRoot1==NULL||pRoot2==NULL)
return false;
if(pRoot1->m_nValue!=pRoot2->m_nValue)
return false;
return isSymmetric(pRoot1->m_pLeft,pRoot2->m_pRight)&&isSymmetric(pRoot1->m_pRight,pRoot2->m_pLeft);
}
bool isSymmetric(BinaryTreeNode* pRoot){
if(pRoot==NULL)
return false;
return isSymmetric(pRoot->m_pLeft,pRoot->m_pRight);
}
参考:《剑指offer》何海涛著