递归出错简直要人命啊!!! 递归出口一定要小心,否则就会陷入无限循环中导致内存崩溃!! 这题:第一:左右子树的范围要小心,一开始没有用leftlen,直接spre+rootin!诶~~,两者没有啥关系的 第二:左右子树怎么判断停,单靠spre==epre &&sin==ein判断是不行的,它只能判断
分类:
其他好文 时间:
2016-03-16 22:43:58
阅读次数:
409
参考:《剑指offer》纪念版
情况1.:给出树的前序序列和中序序列,输出后序序列
情况2 :给出树的后序序列和中序序列,输出前序序列
解决方法:根据所给出的两个序列,构造出(重建)二叉树,然后按要求再遍历输出。
重建二叉树主要利用了递归的思想,最重要的是找出序列的范围(函数传参),这个要非常仔细,很容易出错。一定要在纸上画出图,然后根据图来确定范围。
用到的两个函数:
以情况...
分类:
其他好文 时间:
2016-03-04 13:23:08
阅读次数:
212
题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 1 /** 2 * Definition for b
分类:
其他好文 时间:
2016-03-02 19:55:26
阅读次数:
97
题目 已知一个二叉树的前序和中序遍历数组,构建这个二叉树。如已知前序为:abcdf,中序为:cbdaf,可以构建出这个二叉树为 a / \ b f / \ c d 分析 已知前序和中序排列或者已知后序和中序排列,思路都是通过前序或者后序确定树或子树的根节点,通过中序找到根节点所在的位置; 中序的根节
分类:
编程语言 时间:
2016-02-15 18:06:18
阅读次数:
184
问题描述: 假设二叉树中的值都不重复, (1) 输入前序遍历和中序遍历的结果,输出该二叉树; (2) 输入中序遍历和后序遍历的结果,输出该二叉树。 分析: (1) 由前序确定根节点,中序确定左右子树范围,然后用递归重复这段逻辑。根据前序遍历可知根节点在第一个的位置,根据这个根节点在中序遍历中的位置,...
分类:
编程语言 时间:
2016-02-03 15:25:59
阅读次数:
182
输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。如果输入的前序遍历和中序遍历的结果中都不含反复的数字。比如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6}。则重建二叉树并输出它的后序遍历序列。输入:输入可能包括多个測试例子。对于每一个測试案...
分类:
其他好文 时间:
2016-01-21 13:42:03
阅读次数:
114
1.问题描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。2.问题分析 2.1首先了解二叉树的结构 2......
分类:
其他好文 时间:
2015-10-20 11:49:30
阅读次数:
163
知识:在先序遍历中,第一个结点就是二叉树的根节点;而在中序遍历中,根节点必然将中序序列分割成两个子序列,前一个子序列就是根节点的左子树的中序序列,后一个是根节点的右子树的中序序列。同样,给定后序序列和中序序列,按层次序列和中序序列可以也可以唯一确定一棵二叉树。但是,如果知道二叉树的先序序列和后序序列...
分类:
其他好文 时间:
2015-10-08 16:09:05
阅读次数:
120
重建二叉树参与人数:2411时间限制:1秒空间限制:32768K通过比例:18.41%最佳记录:0 ms|0K(来自心无杂念)题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}...
分类:
其他好文 时间:
2015-09-25 23:06:56
阅读次数:
211
题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 1 /** 2 * Definition for b....
分类:
其他好文 时间:
2015-09-19 22:39:15
阅读次数:
226