完成一个函数,输入一个二叉树,该函数输出他的镜像:
struct BinaryTreeNode
{
int m_nValue;
struct BinaryTreeNode *m_nLeft;
struct BinaryTreeNode *m_nRight;
};
void MirrorRecursive(BinaryTreeNode *pNode)
{
if (pNode == NULL)
return;
if (pNode->m_nLeft == NULL && pNode->m_nRight == NULL)
return;
BinaryTreeNode *pTemp = pNode->m_nLeft;
pNode->m_nLeft = pNode->m_nRight;
pNode->m_nRight = pTemp;
if (pNode->m_nLeft)
MirrorRecursive(pNode->m_nLeft);
if (pNode->m_nRight)
MirrorRecursive(pNode->m_nRight);
}