C语言 二叉查找树镜像
来源:互联网 发布:linux kernel usleep 编辑:程序博客网 时间:2024/06/01 10:41
题目:输入一颗二元查找树,将该树转换为它的镜像,即在转换后的二元查找树中,左子树的结点都大于右子树的结点。用递归和循环两种方法完成树的镜像转换。
例如输入:
8
/ \
6 10
/\ /\
5 7 9 11
输出:
8
/ \
10 6
/\ /\
11 9 7 5
typedef struct BSTreenode{int data;struct BSTreenode *pLeft;struct BSTreenode *pRight;}BST;void mirrorBST(BST *pRoot){if(pRoot == NULL){return ;}BST *tempNode = pRoot->pLeft;pRoot->pLeft = pRoot->pRight;pRoot->pRight = tempNode;if(pRoot->pLeft){mirrorBST(pRoot->pLeft);}if(pRoot->pRight){mirrorBST(pRoot->pRight);}}void mirrorBST01(BST *pRoot){if(pRoot == NULL){return;}deque<BST *>BSTNode;BSTNode.push_back(pRoot);while(!BSTNode.empty()){BST *pNode = BSTNode.front();BSTNode.pop_front();BST *tempNode = pNode->pLeft;pNode->pLeft = pNode->pRight;pNode->pRight = tempNode;if(pNode->pLeft){BSTNode.push_back(pNode->pLeft);}if(pNode->pRight){BSTNode.push_back(pNode->pRight);}}}
0 0
- C语言 二叉查找树镜像
- 二叉查找树(c语言实现)
- 二叉查找树C语言实现
- 二叉查找树c语言实现
- 二叉查找树C语言实现
- C语言实现二叉查找树
- 二叉查找树(C语言实现 )
- C语言 二叉查找树相关算法
- 二叉查找树的C语言实现
- 实现二叉查找树 -- C语言
- C语言实现二叉查找树
- 二叉查找树的C语言实现
- C语言——查找二叉树
- 数据结构:二叉查找树(C语言实现)
- c语言实现二叉查找树
- c语言数据结构之二叉(查找)树
- 二叉查找树实现(C语言版本)
- AVL平衡二叉查找树实现(C语言版本)
- linux 安装redis
- Linux系统编程——系统调用之 I/O 操作(文件操作)
- 2014年来的一些感悟
- PHP PDO exec, query, prepared statement
- 浅谈Java中的equals和==
- C语言 二叉查找树镜像
- Could not load file or assembly or one of its dependencies. 试图加载格式不正确的程序。
- 身份证号码校验
- SQL保留小数点前面的0 round trunc 上取整,下取整
- iOS开发单例模式(Singleton)
- 至和广告设计公司服务覆盖行业全面
- P124 第42题 大于等于平均数个数
- Java多线程基础详解
- Javascript在项目开发中的常用方法