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

来源:互联网 发布:java带类路径启动 编辑:程序博客网 时间:2024/06/05 17:53

题目:
求一颗二叉树的镜像
解决方法:
创建一个树以后,交换每个节点的左右孩子

//递归    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();        }    }
阅读全文
1 0
原创粉丝点击