镜像二叉树与原二叉树的左右子节点相反,当交换子结点后,需要对子结点的子结点进行同样的交换操作;
算法实现如下:
void MirrorRecursively(BinaryTreeNode *pNode){
if((pNode==null)||(pNode->m_pLeft==null&&pNode->m_pRight==null)){
return ;
}
BinaryTreeNode* temp=pNode->m_pLeft;
pNode->m_pLeft=pNode->m_pRight;
pNode->m_pRight=temp;
if(pNode->m_pLeft)
MirrorRecursively(pNode->m_pLeft);
if(pNode->m_pRight)
MirrorRecursively(pNode->m_pRight);
}//求镜像二叉树
转载请注明原文地址: https://ju.6miu.com/read-12254.html