二叉查找树镜像翻转
来源:互联网 发布:java打印等边三角形用 编辑:程序博客网 时间:2024/05/17 07:04
题目:输入一颗二元查找树,将该树转换为它的镜像,即在转换后的二元查找树中,左子树的结点都大于右子树的结点。用递归和循环两种方法完成树的镜像转换。
分析:递归方法只需要遍历二叉树对遇到的节点交换左右即可,非递归可用栈遍历
//递归程序
void reverseTree(TreeNode *root)
{
if(root==null) return;
TreeNode * temp; //交换左右子树指针
temp=root->left;
root->left=root->right;
root->right=temp;
reverseTree(root->left);
reverseTree(root->right);
}
//非递归程序
void reverseTreeN(treeNode *root)
{
if(root==null) return;
stack s<treeNode *>=new <treeNode *>();
treeNode *temp;
s.push(root);
while( !s.isEmpty())
{
root=s.pop();
temp=root->left;
root->left=root->right;
root->right=temp;
root=root>left;
if(root->left!=null) s.push(root->left);
if(root->right!=null) s.push(root->right);
}
}
0 0
- 二叉查找树镜像翻转
- 将二叉树镜像翻转
- 第十五题(二元查找树镜像翻转)
- 算法习题15:二叉树镜像(翻转)
- C++二叉树翻转
- 翻转二叉树
- 翻转二叉树
- 题目:翻转二叉树
- LintCode 翻转二叉树
- LinkCode-翻转二叉树
- 翻转二叉树
- 翻转二叉树
- 翻转二叉树
- LintCode_175_翻转二叉树
- 二叉树翻转
- lintcode ----翻转二叉树
- lintcode,翻转二叉树
- 翻转二叉树
- 在一个类的成员函数中调用另一个类的成员函数
- Maven常用命令
- POJ-3253-Fence Repair(Java+哈夫曼树)
- FZU(2188):狼羊过河问题,状态转移,BFS求解
- 代码 AutoLayout
- 二叉查找树镜像翻转
- Powerbuilder中的内存操作大搜集
- git-工作区-暂存区-仓库(五)
- (1.1.15)对象成员变量的构造函数和对象构造函数的执顺序以及Static、final、abstract、interface
- ubuntu 设置输入法
- 《Android内核剖析》读书笔记 第1章 Linux基础
- FTP与SFTP的区别
- elipse 和 MyEclipse中的还原和重置窗口布
- WM_COPYDATA的作用