【java 面试100】15 :输入一颗二元查找树,将该树转换为它的镜像
2012-10-15 11:08
295 查看
题目:输入一颗二元查找树,将该树转换为它的镜像,
即在转换后的二元查找树中,左子树的结点都大于右子树的结点。
用递归和循环两种方法完成树的镜像转换。
例如输入:
8
/ /
6 10
// //
5 7 9 11
输出:
8
/ /
10 6
// //
11 9 7 5
结果:5 6 7 8 9 10 11
11 10 9 8 7 6 5
即在转换后的二元查找树中,左子树的结点都大于右子树的结点。
用递归和循环两种方法完成树的镜像转换。
例如输入:
8
/ /
6 10
// //
5 7 9 11
输出:
8
/ /
10 6
// //
11 9 7 5
public class MirrorBST { public void mirror(BSTreeNode root){ if(root==null)return; BSTreeNode p=root.lefTreeNode; root.lefTreeNode=root.rightTreeNode; root.rightTreeNode=p; mirror(root.lefTreeNode); mirror(root.rightTreeNode); } public void midTraverse(BSTreeNode root){ if(root==null) return; midTraverse(root.lefTreeNode); System.out.print(root.value+" "); midTraverse(root.rightTreeNode); } public static void main(String[] args) { BSTreeNode root=new BSTreeNode(8); BSTreeNode p6=new BSTreeNode(6); BSTreeNode p10=new BSTreeNode(10); BSTreeNode p5=new BSTreeNode(5); BSTreeNode p7=new BSTreeNode(7); BSTreeNode p9=new BSTreeNode(9); BSTreeNode p11=new BSTreeNode(11); root.lefTreeNode=p6; root.rightTreeNode=p10; p6.lefTreeNode=p5; p6.rightTreeNode=p7; p10.lefTreeNode=p9; p10.rightTreeNode=p11; MirrorBST mirrorBST=new MirrorBST(); mirrorBST.midTraverse(root); mirrorBST.mirror(root); System.out.println(); mirrorBST.midTraverse(root); } } class BSTreeNode{ int value; BSTreeNode lefTreeNode; BSTreeNode rightTreeNode; public BSTreeNode(int data){ this.value=data; } }
结果:5 6 7 8 9 10 11
11 10 9 8 7 6 5
相关文章推荐
- 微软100题15题(输入一颗二元查找树,将该树转换为它的镜像)
- 100题15输入一颗二元查找树,把该树转化为它的镜像
- 15.输入一颗二元查找树,将该树转换为它的镜像, 即在转换后的二元查找树中,左子树的结点都大于右子树的结点, 用递归和循环两种方法完成树的镜像转换
- 15、输入一颗二元查找树,将该树转换为它的镜像
- 15 输入一颗二元查找树,将该树转换为它的镜像
- No15、输入一颗二元查找树,将该树转换为它的镜像
- No15_输入一颗二元查找树,将该树转换为它的镜像,
- 【微软100题】输入一颗二元查找树,将该树转换为它的镜像
- 15.输入一颗二元查找树,将该树转换为它的镜像
- 输入一颗二元查找树,将该树转换为它的镜像(15)
- 每天学习一算法系列(15)(输入一颗二元查找树,将该树转换为它的镜像)
- [编程之美-15]输入一颗二元查找树将该树转换为它的镜像
- 微软面试之15题 输入一颗二元查找树 将该树转化为他的镜像
- 面试题:输入一颗二元查找树,将该树转换为它的镜像, 即在转换后的二元查找树中,左子树的结点都大于右子树的结点。 用递归和循环两种方法完成树的镜像转换。
- 输入一颗二元查找树,将该树转换为它的镜像,即在转换后的二元查找树中,左子树的结点都大于右子树的结点
- 输入一颗二元查找树,将该树转换为它的镜像, 即在转换后的二元查找树中,左子树的结点都大于右子树的结点。 用递归和循环两种方法完成树的镜像转换:
- <仅是自己做笔记。。。系列-7>输入一颗二元查找树,将该树转换为它的镜像
- 输入一颗二元查找树,将该树转换为它的镜像
- 输入一颗二元查找树,将该树转换为它的镜像
- 【练习】输入一颗二元查找树,将该树转换为它的镜像