文档章节

IT公司100题-15-求二元查找树的镜像

关西大汉弹琵琶
 关西大汉弹琵琶
发布于 2015/12/16 18:03
字数 139
阅读 68
收藏 6

问题描述:

输入一颗二元查找树,将该树转换为它的镜像树,即对每一个节点,互换左右子树。

 

例如输入:

  6
/    \
4     12
/ \   /   \
2  5 8   16

输出:

  6
/     \
12     4
/   \   / \
16  8 5  2

分析:
定义二叉查找树节点:

class BSTreeNode{
   BSTreeNode(int x, BSTreeNode lt, BSTreeNode rt){
      value = x;
      left = lt;
      right = rt;
   }
   int value;
   BSTreeNode left;
   BSTreeNode right;
}


代码实现:

public void mirrorChange(){
   mirrorChange(root);
}
public void mirrorChange(BSTreeNode n){
   if(n == null){
      return;
   }
   if(n.left != null){
      mirrorChange(n.left);
   }
   if(n.right != null){
      mirrorChange(n.right);
   }
   BSTreeNode tmp = n.left;
   n.left = n.right;
   n.right = tmp;
}


© 著作权归作者所有

关西大汉弹琵琶
粉丝 8
博文 41
码字总数 14221
作品 0
浦东
程序员
私信 提问
各大公司(Google,Microsoft,Baidu, Microsoft Research Asia etc.)实习生面试题总汇

1.把二元查找树转变成排序的双向链表(树) 题目: 输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。 要求不能创建任何新的结点,只调整指针的指向。 10 / 6 14 / / 4 8 12 1...

云栖希望。
2017/12/04
0
0
IT公司100题-1-二叉树转换为双链表

问题描述: 输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。 要求不能创建任何新的结点,只调整指针的指向。 10 / 6 14 / / 4 8 12 16 转换成双向链表 4=6=8=10=12=14=16。 ...

关西大汉弹琵琶
2015/10/19
108
0
微软等公司数据结构+算法面试100题

1.把二元查找树转变成排序的双向链表(树) 题目: 输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。 要求不能创建任何新的结点,只调整指针的指向。 10 / / 6 14 / / / / 4 ...

chambai
2012/08/05
0
0
输入一颗二元查找树,将该树转换为它的镜像

题目: 输入一颗二元查找树,将该树转换为它的镜像,即在转换后的二元查找树中,左子树的结点都大于右子树的结点。 用递归和循环两种方法完成树的镜像转换。 例如输入: 8 / 6 10 / / 5 7 9...

Zhang_H
2014/04/24
210
0
IT公司100题-9-判断整数序列是不是二元查找树的后序遍历结果

问题描述: 输入一个整数数组,判断该数组是不是某二元查找树的后序遍历的结果。 如果是返回true,否则返回false。 例如输入4, 8, 6, 12, 16, 14, 10,由于这一整数序列是如下树的后序遍历结...

关西大汉弹琵琶
2015/11/05
72
0

没有更多内容

加载失败,请刷新页面

加载更多

堆”和“栈

C++作为一款C语言的升级版本,具有非常强大的功能。它不但能够支持各种程序设计风格,而且还具有C语言的所有功能。我们在这里为大家介绍的是其中一个比较重要的内容,C++内存区域的基本介绍。...

SibylY
12分钟前
1
0
总结:Https

一、介绍 简单理解,https即在http协议的基础上,增加了SSL协议,保障数据传输的安全性。 它由以前的http—–>tcp,改为http——>SSL—–>tcp;https采用了共享密钥加密+公开密钥加密的方式 ...

浮躁的码农
14分钟前
1
0
数据库表与表之间的一对一、一对多、多对多关系

表1 foreign key 表2 多对一:表 1 的多条记录对应表 2 的一条记录 利用foreign key的原理我们可以制作两张表的多对多,一对一关系 多对多: 表1的多条记录可以对应表2的一条记录 表2的多条记...

Garphy
45分钟前
6
0
MySQL 表崩溃修复

MySQL日志报错 2019-10-19 13:41:51 19916 [ERROR] /usr/local/mysql/bin/mysqld: Table './initread_hss/user_info' is marked as crashed and should be repaired2019-10-19 13:41:51 1......

雁南飞丶
55分钟前
6
0
Error和Exception

1.Error类和Exception类都是继承Throwable类 2.Error(错误)是系统中的错误,程序员是不能改变的和处理的,是在程序编译时出现的错误,只能通过修改程序才能修正。一般是指与虚拟机相关的问...

大瑞清_liurq
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部