二叉树的镜像(递归和非递归)
来源:互联网 发布:林黛玉 知乎 编辑:程序博客网 时间:2024/05/21 09:23
二叉树的镜像原理很简单,就是左子树变成右子树,每个节点都遵循这个原则就是镜像,直接来看代码
//二叉树镜像(递归)void _GetBinaryMirror(Node* _pRoot) {if (_pRoot == NULL)return;Node* pCur = _pRoot;if (pCur->_pLeft == NULL && pCur->_pRight == NULL)return;swap(pCur->_pLeft, pCur->_pRight);if (pCur->_pLeft != NULL)_GetBinaryMirror(pCur->_pLeft);if (pCur->_pRight != NULL)_GetBinaryMirror(pCur->_pRight);}//镜像(非递归-->队列)void _GetBinaryMirror_Nor(Node* _pRoot) {if (_pRoot == NULL)return;Node* pCur = _pRoot;queue<Node*> q;q.push(pCur);while (!q.empty()){Node* front = q.front();if (front->_pLeft != NULL || front->_pRight != NULL)swap(front->_pLeft, front->_pRight);if (front->_pLeft != NULL)q.push(front->_pLeft);if (front->_pRight != NULL)q.push(front->_pRight);q.pop();}}
阅读全文
0 0
- 二叉树的镜像(递归和非递归)
- 二叉树(11)----求二叉树的镜像,递归和非递归方式
- 四:二叉树的镜像递归非递归求解
- 二叉树的镜像(非递归)
- 【剑指offer】二叉树的镜像(递归+非递归)
- 笔试面试算法经典--二叉树的镜像-递归与非递归实现(Java)
- 二叉树的递归和非递归
- 二叉树的递归和非递归
- 二叉树的遍历(递归和非递归)
- 二叉树的遍历(递归和非递归)
- 二叉树的建立和遍历(递归、非递归)
- 二叉树的遍历(非递归和递归实现)
- 二叉树的先序中序后序遍历 (递归和非递归)
- 二叉树的深度(递归和非递归)
- 二叉树的遍历算法(递归和非递归)
- 二叉树的递归和非递归遍历(java)
- 二叉树的非递归遍历(递归和非递归)
- 剑指Offer面试题18树的子结构(递归),面试题19二叉树的镜像(递归和非递归用栈)
- 存储-SDRAM
- 基于JAVA的word文件转成html
- XMind如何更改主题样式
- IOS常见的加密方法,常用的MD5和Base64
- Bean复制(Apache BeanUtils、PropertyUtils,Spring BeanUtils,Cglib BeanCopier)
- 二叉树的镜像(递归和非递归)
- linux查看当前加载的所有动态库
- 接口自动化测试,返回值深层完全断言大法
- jquery和js小知识
- 第2章 线性表
- 回调原子化方案调研
- 关于新版SDK报错You need to use a Theme.AppCompat theme的两种解决办法
- 元组、列表、字符串以及切片的一些小操作记录
- Unity_检测网络是否通畅