求二元查找树的镜像
来源:互联网 发布:shtml nginx 编辑:程序博客网 时间:2024/06/02 21:19
题目:输入一颗二元查找树,将该树转换为它的镜像,即在转换后的二元查找树中,左子树的结点都大于右子树的结点。
//递归求二元查找树的镜像(即左右子树指针互换)void MirrorRecursively(BTree pNode){if (NULL == pNode)return;//左右子树互换BTree temp = pNode->lchild;pNode->lchild = pNode->rchild;pNode->rchild = temp;MirrorRecursively(pNode->lchild);MirrorRecursively(pNode->rchild);}
//非递归求二元查找树的镜像方法1void NonRecurMirror_1(BTree pNode){stack<BTree> stck;set<BTree> s;while (pNode!=NULL || !stck.empty()){while (pNode != NULL){BTree temp = pNode->lchild;pNode->lchild = pNode->rchild; pNode->rchild = temp;stck.push(pNode);pNode = pNode->lchild;}if (!stck.empty()){pNode = stck.top();stck.pop();pNode = pNode->rchild;}}}//非递归求二元查找树的镜像方法2void NonRecurMirror_2(BTree pNode){if (NULL == pNode){cout << "空树" <<endl;return;} stack<BTree> stck;stck.push(pNode);while (!stck.empty()){pNode = stck.top();stck.pop();//出栈BTree temp = pNode->lchild;pNode->lchild = pNode->rchild; pNode->rchild = temp;if (pNode->rchild)stck.push(pNode->rchild);if (pNode->lchild)stck.push(pNode->lchild);}}
0 0
- 求二元查找树的镜像
- 求二元查找树的镜像
- 求二元查找树的镜像
- 求二元查找树的镜像
- 求二元查找树的镜像
- 求二元查找树的镜像
- 求二元查找树的镜像
- 求二元查找树的镜像
- 求二元查找树的镜像
- 求二元查找树的镜像
- 求二元查找树的镜像
- 求二元查找树的镜像
- 求二元查找树的镜像
- 求二元查找树的镜像
- 求二元查找树的镜像 C++实现
- 求二元查找树树的镜像(剑指offer笔记)
- 程序员面试题精选(11):求二元查找树的镜像
- 程序员面试题精选100题(11)-求二元查找树的镜像
- 最美的回忆
- 系统设置 设置项 丢失
- POJ 1088 滑雪 DFS 记忆化搜索
- 找出最大的数并统计个数
- USACO 2.3.4 Money Systems
- 求二元查找树的镜像
- Django:解决media、static和template路径问题
- 什么是DOM
- Bcm6816uni_dspdd.doc
- Struts2 用 s:if test 判断属性和字符串相等时 注意双引号和单引号的使用
- css3阴影趣味详解
- 反转单链表
- HDU1114 Piggy-Bank 【完全背包】
- KERNEL_Makefile.modpos.doc