【微软100题】输入一颗二元查找树,将该树转换为它的镜像
来源:互联网 发布:linux 不支持ext4 编辑:程序博客网 时间:2024/04/30 15:19
package test;/***题目:输入一颗二元查找树,将该树转换为它的镜像,即在转换后的二元查找树中,左子树的结点都大于右子树的结点。用递归和循环两种方法完成树的镜像转换。例如输入: 8 / \ 6 10/ \ / \ <span style="white-space:pre"></span>5 7 9 11输出: <span style="white-space:pre"></span> 8 / \10 6/ \ / \ <span style="white-space:pre"></span>11 9 7 5思路:前序遍历二元查找树,有子树,则交换指针指向。*/public class MS_15 {/** * 翻转树 * @param root */private void reverseTree(BSTreeNode root) {System.out.println();printTree(node1);if(root != null) {BSTreeNode t = root.m_pLeft;root.m_pLeft = root.m_pRight;root.m_pRight = t;if(root.m_pLeft!=null) {reverseTree(root.m_pLeft);} if(root.m_pRight!=null) {reverseTree(root.m_pRight);}}}//初始化二叉树static MS_15 ms15 = new MS_15();static BSTreeNode node1 = ms15.new BSTreeNode();static BSTreeNode node2 = ms15.new BSTreeNode();static BSTreeNode node3 = ms15.new BSTreeNode();static BSTreeNode node4 = ms15.new BSTreeNode();static BSTreeNode node5 = ms15.new BSTreeNode();static BSTreeNode node6 = ms15.new BSTreeNode();static BSTreeNode node7 = ms15.new BSTreeNode();//赋值static{node1.m_nValue=8;node1.m_pLeft=node2;node1.m_pRight=node3;node2.m_nValue = 6;node2.m_pLeft=node4;node2.m_pRight=node5;node3.m_nValue = 10;node3.m_pLeft = node6;node3.m_pRight = node7;node4.m_nValue = 5;node4.m_pLeft = null;node4.m_pRight = null;node5.m_nValue = 7;node5.m_pLeft = null;node5.m_pRight = null;node6.m_nValue = 9;node6.m_pLeft = null;node6.m_pRight = null;node7.m_nValue = 11;node7.m_pLeft = null;node7.m_pRight = null;}/** * 打印树 * @param root */private static void printTree(BSTreeNode root) {if(root!=null) {System.out.print(root.m_nValue+",");if(root.m_pLeft!=null) {printTree(root.m_pLeft);}if(root.m_pRight!=null) {printTree(root.m_pRight);}}}public static void main(String[] args) {MS_15 ms15 = new MS_15();ms15.reverseTree(node1);System.out.println();printTree(node1);}class BSTreeNode {BSTreeNode m_pLeft;BSTreeNode m_pRight;int m_nValue;}}
0 0
- 【微软100题】输入一颗二元查找树,将该树转换为它的镜像
- 13. 微软面试题:题目:输入一颗二元查找树,将该树转换为它的镜像
- 微软100题15题(输入一颗二元查找树,将该树转换为它的镜像)
- 输入一颗二元查找树,将该树转换为它的镜像
- 15、输入一颗二元查找树,将该树转换为它的镜像
- 输入一颗二元查找树,将该树转换为它的镜像
- 输入一颗二元查找树,将该树转换为它的镜像,
- 输入一颗二元查找树,将该树转换为它的镜像
- 【算法】输入一颗二元查找树,将该树转换为它的镜像
- 15.输入一颗二元查找树,将该树转换为它的镜像
- 15.输入一颗二元查找树,将该树转换为它的镜像
- No15、输入一颗二元查找树,将该树转换为它的镜像
- 输入一颗二元查找树,将该树转换为它的镜像
- 输入一颗二元查找树,将该树转换为它的镜像
- No15_输入一颗二元查找树,将该树转换为它的镜像,
- 输入一颗二元查找树,将该树转换为它的镜像
- 15 输入一颗二元查找树,将该树转换为它的镜像
- 13.输入一颗二元查找树,将该树转换为它的镜像
- ListView Item点击事件失效
- 数字图像处理 边缘特征提取 Image edge detection
- 汇编语言----实验16--编写包含多个功能子程序的中断例程
- 把二元查找树转变成排序的双向链表
- iOS 开发库(iOS Developer Library)
- 【微软100题】输入一颗二元查找树,将该树转换为它的镜像
- C++ Primer读书笔记1--基本语言
- 用STL设计消息队列、优先级消息队列、资源分配管理器
- js文件包含方法
- Java List、Array中文,英文排序
- grep使用
- c++子类和父类同名成员函数
- Mysql安装
- Theory:大小顶堆,排序,插入,删除