问题描述:输入一颗二元查找树,将该树转换为它的镜像树,即对每一个节点,互换左右子树。例如输入: 6/ \4 12/ \ / \25 816输出: 6/ \12 4/ \ / \16852定义二元查找树的结点为:typedef struct BSTree { int dat...
分类:
其他好文 时间:
2014-08-10 23:48:50
阅读次数:
316
第 15 题(树):题目:输入一颗二元查找树,将该树转换为它的镜像,即在转换后的二元查找树中,左子树的结点都大于右子树的结点。用递归和循环两种方法完成树的镜像转换。 例如输入:8/ \6 10/ \ / \5 7 9 11输出:8/ \10 6/ \ / \11 9 7 5定...
分类:
其他好文 时间:
2014-08-04 21:07:08
阅读次数:
264
def MirroRecursively(root):
# root is None or just one node, return root
if None == root or None == root.left and None == root.right:
return root
root.left, root.right = root.right, root.left
Mi...
分类:
其他好文 时间:
2014-07-08 14:26:08
阅读次数:
221
题目:完成一个函数,输入一个二叉树,该函数输出它的镜像 分析:何为镜像?
首先我们先去遍历头结点,如果不为空,那么我们就要继续遍历其左子树和右子树,如果不为空就进行一个交换,这里要说明的是:树的根节点与其左右子树之间是采用指针的形式进行一个连接的,也就是你交换了左右子树(比如
10 6),但是子树(...
分类:
其他好文 时间:
2014-06-10 20:40:06
阅读次数:
286
题目描述:输入一个二叉树,输出其镜像。输入:输入可能包含多个测试样例,输入以EOF结束。对于每个测试案例,输入的第一行为一个整数n(0tree[i].flag
=0; t->tree[i].num = 0; t->tree[i].lchild = 0; ...
分类:
其他好文 时间:
2014-06-04 16:19:58
阅读次数:
331
Mirror a binary search tree.
分类:
其他好文 时间:
2014-05-22 02:02:55
阅读次数:
244
这道题目与上道题目一样,采用数组来作为保存二叉树节点的数据结构,会使测试代码更容易编写。具体的实现算法在代码中比较容易看懂,不细说了,主要想说下,测试时遇到的一些问题(最后AC了):
1、先序遍历的输出要符合要求的格式,即对于每一个测试用例来说,输出的各节点元素间要有一个空格,且输出最后一个元素后要没有空格,但要输出一个换行符,这就要判断出程序什么时候遍历输出最后一个元素,再递归实现的先序遍历函数中,我没想到能使最后一个元素符合输出格式的方法,因此我这里定义了一个int数组,用来顺序保存先序遍历的节...
分类:
其他好文 时间:
2014-05-18 03:37:21
阅读次数:
381
19. 二叉树的镜像(递归)即:交换所有节点的左右子树。从下往上 或 从上往下
都可以。#include #include using namespace std;struct BTNode{ int v; // default
positive Integer. BTNode *pLeft; B....
分类:
其他好文 时间:
2014-05-01 12:41:11
阅读次数:
416
完成一个函数,输入一个二叉树,该函数输出它的镜像。
分类:
其他好文 时间:
2014-04-29 21:25:58
阅读次数:
457