二叉树的镜像
来源:互联网 发布:mac怎么设置屏幕尺寸 编辑:程序博客网 时间:2024/06/09 20:36
剑指offer面试题19:请完成一个函数,输入一个二叉树,该函数输出它的镜像
void MirrorRecursively(BinaryTreeNode* pHead){if(pHead==NULL)return;//如果左右孩子均为空,则直接返回if(pHead->m_pLeft==NULL&&pHead->m_pRight==NULL)return;//交换根节点的左右孩子BinaryTreeNode* pTemp=pHead->m_pLeft;pHead->m_pLeft=pHead->m_pRight;pHead->m_pRight=pTemp;//如果左孩子不为空,递归处理if(pHead->m_pLeft)Mirror(pHead->m_pLeft);//如果右孩子不为空,递归处理if(pHead->m_pRight)Mirror(pHead->m_pRight);}void MirrorIteratively(BinaryTreeNode* pHead){if(pHead==NULL)return;//如果左右孩子均为空,则直接返回if(pHead->m_pLeft==NULL&&pHead->m_pRight==NULL)return;std::stack<BinaryTreeNode*> stackTreeNode;stackTreeNode.push(pHead);while(!stackTreeNode.empty()){BinaryTreeNode* root = stackTreeNode.top();stackTreeNode.pop();BinaryTreeNode* pTemp=root->m_pLeft;root->m_pLeft=root->m_pRight;root->m_pRight=pTemp;if(root->m_pLeft)stackTreeNode.push(root->m_pLeft);if(root->m_pRight)stackTreeNode.push(root->m_pRight);}}
参考:剑指offer 何海涛
0 0
- 二叉树的镜像
- 二叉树的镜像
- 二叉树的镜像
- 二叉树的镜像
- 二叉树的镜像
- 二叉树的镜像
- 二叉树的镜像
- 二叉树的镜像
- 二叉树的镜像
- 二叉树的镜像
- 二叉树的镜像
- 二叉树的镜像
- 二叉树的镜像
- 二叉树的镜像
- 二叉树的镜像
- 二叉树的镜像
- 二叉树的镜像
- 二叉树的镜像
- bzoj 1180 LCT
- 欢迎使用CSDN-markdown编辑器
- poj 2528 线段树 离散化()
- 【二】数据结构之List
- 时间日期格式转换
- 二叉树的镜像
- 基于QT的五子棋音乐部分功能
- sql语句
- 【Question】I/O函数
- GCD队列绑定NSObject类型上下文数据-利用__bridge_retained(transfer)转移内存管理权
- Http请求
- java二进制、八进制、十六进制间转换详细
- 使用ServerSocket和Socket出现Connection reset的解决办法
- 第三届省赛 网络的可靠性