您的位置:首页 > 职场人生

二叉树的镜像 (面试题 19)

2014-06-29 15:22 288 查看
题目:请完成一个函数,输入一个二叉树,该函数输出它的镜像。

struct BinaryTreeNode
{
int m_nValue;
BinaryTreeNode *m_pLeft;
BinaryTreeNode *m_pRight;
};

//构造树的镜像
void Mirror(BinaryTreeNode *pRoot)
{
if (pRoot != NULL)
{
BinaryTreeNode *pTemp = NULL;
if (pRoot->m_pLeft != NULL || pRoot->m_pRight != NULL)
{
pTemp = pRoot->m_pLeft;
pRoot->m_pLeft = pRoot->m_pRight;
pRoot->m_pRight = pTemp;
}

if (pRoot->m_pLeft != NULL)
{
Mirror(pRoot->m_pLeft);
}

if (pRoot->m_pRight != NULL)
{
Mirror(pRoot->m_pRight);
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  镜像 二叉树