题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 python solution: ...
分类:
其他好文 时间:
2019-03-02 18:44:27
阅读次数:
160
题目: 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 解法: 主要靠递归构建左右子树,靠概念去判断左右子树划 ...
分类:
其他好文 时间:
2019-02-27 13:07:23
阅读次数:
192
题目描述 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。 分析: 1、二叉树搜素树:二叉查找树(Binary Search Tree),(又:二叉搜索树,二叉排序树)它或者是一棵空树,或者是具有下列性质的二叉 ...
分类:
其他好文 时间:
2019-02-26 19:47:21
阅读次数:
233
题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 # -*- coding:utf-8 -*- # c ...
分类:
其他好文 时间:
2019-02-25 16:48:34
阅读次数:
184
补充:enumerate 函数用于遍历序列(元组tuple、列表list、字典dict)中的元素以及它们的下标: Python 集合set 定义:由不同元素组成的无序的元组 形式:S = {'H','E','L','L','O'}或者S = set('HELLO') set()函数可以把列表、元组等 ...
分类:
编程语言 时间:
2019-02-19 22:21:23
阅读次数:
203
[TOC] Python 内置函数 filter filter(处理逻辑, 可遍历对象)遍历序列中的每个元素,判断每个元素的布尔值为True则保留元素. 用法:返回执行结果为TRUE的入参(入参是列表字符元组) print filter(lambda x:x x 4,range(10)) 结果:[0 ...
分类:
编程语言 时间:
2019-02-04 18:03:33
阅读次数:
246
题目: 输入一个1~n(1≤n≤300)的排列,用不超过2n2次操作把它变成升序。每次操作都可以选一个长度为偶数的连续区间,交换前一半和后一半。输出每次操作选择的区间的第一个和最后一个元素。 思路: 注意紫书上的提示,2n次操作就可以完成了。从头开始遍历序列,属于该位置上的元素,可以在两步之内交换到 ...
分类:
其他好文 时间:
2019-02-02 10:40:05
阅读次数:
175
很好理解,也很好写,只要知道它的两个性质就可以自己yy了 1.堆性质 2.中序遍历序列就是原序列 代码如下: cpp include using namespace std; define N 100000 int n, a[N+5], fa[N+5], ch[N+5][2]; int stk[N+ ...
分类:
其他好文 时间:
2019-01-26 11:00:19
阅读次数:
202
给定一棵二叉树的后序遍历和中序遍历,请你输出其层序遍历的序列。这里假设键值都是互不相等的正整数。 输入格式: 输入第一行给出一个正整数N(≤),是二叉树中结点的个数。第二行给出其后序遍历序列。第三行给出其中序遍历序列。数字间以空格分隔。 输出格式: 在一行中输出该树的层序遍历的序列。数字间以1个空格 ...
分类:
其他好文 时间:
2019-01-19 00:51:42
阅读次数:
134
题目 给定一颗二叉搜索树,请找出其中的第k大的结点。 思路 如果中序遍历一棵二叉搜索树,遍历序列的数值则是递增排序,因此只需中序遍历一个二叉搜索树即可。 ...
分类:
其他好文 时间:
2019-01-14 23:08:20
阅读次数:
177