您的位置:首页 > 其它

求一颗二叉树的镜像 【每日一题】

2017-07-28 16:10 218 查看
题目:

求一颗二叉树的镜像

解决方法:

创建一个树以后,交换每个节点的左右孩子

//递归
void _GetBinaryMirror(Node* pRoot)
{
if(pRoot)
{
std::swap(pRoot->_pLeft ,pRoot->_pRight );
_GetBinaryMirror(pRoot->_pLeft );
_GetBinaryMirror(pRoot->_pRight );
}
}
//非递归
void _GetBinaryMirror_Nor(Node* pRoot)
{
queue<Node*> q;
q.push(pRoot);
while(!q.empty())
{
Node* pCur = q.front();
std::swap(pCur->_pLeft ,pCur->_pRight );
if(pCur->_pLeft )
q.push(pCur->_pLeft );
if(pCur->_pRight )
q.push(pCur->_pRight );
q.pop();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  二叉树