15 输入一颗二元查找树,将该树转换为它的镜像
2014-09-16 14:29
573 查看
/* 第 15 题: 题目:输入一颗二元查找树,将该树转换为它的镜像, 即在转换后的二元查找树中,左子树的结点都大于右子树的结点。 用递归和循环两种方法完成树的镜像转换。 例如输入: 8 / \ 6 10 / \ / \ 5 7 9 11 输出: 8 / \ 10 6 / \ / \ 11 97 5 两种方法: 1.递归 2.队列BFS */ //递归转换当前结点的左右子树 void convert(BTreeNode *root) { BTreeNode *temp=NULL; if(root!=NULL) { temp=root->left; root->left=root->right; root->right=temp; convert(root->left); convert(root->right); } } //循环:利用BFS层次遍历每个结点 交换其子节点 BTreeNode *convert2(BTreeNode *root) { BTreeNode *temp,*start; queue<BTreeNode> q; q.push(root); while(q.empty()) { start=q.front(); q.pop(); if(start->left!=NULL) q.push(start->left); if(start->rightt!=NULL) q.push(start->right); temp=start->left; start->left=start->right; start->right=temp; } return root; }
相关文章推荐
- No15_输入一颗二元查找树,将该树转换为它的镜像,
- 【java 面试100】15 :输入一颗二元查找树,将该树转换为它的镜像
- No15、输入一颗二元查找树,将该树转换为它的镜像
- 每天学习一算法系列(15)(输入一颗二元查找树,将该树转换为它的镜像)
- 15.输入一颗二元查找树,将该树转换为它的镜像, 即在转换后的二元查找树中,左子树的结点都大于右子树的结点, 用递归和循环两种方法完成树的镜像转换
- 输入一颗二元查找树,将该树转换为它的镜像(15)
- 15.输入一颗二元查找树,将该树转换为它的镜像
- 15、输入一颗二元查找树,将该树转换为它的镜像
- 微软100题15题(输入一颗二元查找树,将该树转换为它的镜像)
- [编程之美-15]输入一颗二元查找树将该树转换为它的镜像
- 输入一颗二元查找树,将该树转换为它的镜像
- 【微软100题】输入一颗二元查找树,将该树转换为它的镜像
- 输入一颗二元查找树,将该树转换为它的镜像
- 输入一颗二元查找树,将该树转换为它的镜像
- 输入一颗二元查找树,将该树转换为它的镜像,即在转换后的二元查找树中,左子树的结点都大于右子树的结点
- [编程之美-06]输入一颗二元查找树将该树转换为它的镜像
- 输入一颗二元查找树,将该树转换为它的镜像, 即在转换后的二元查找树中,左子树的结点都大于右子树的结点。 用递归和循环两种方法完成树的镜像转换:
- 微软算法100道题-----输入一颗二元查找树,将该树转换为它的镜像, 即在转换后的二元查找树中,左子树的结点都大于右子树的结点
- 13. 微软面试题:题目:输入一颗二元查找树,将该树转换为它的镜像
- 13.输入一颗二元查找树,将该树转换为它的镜像