输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。 例如,给出 返回如下的二叉树: 限制: 0 <= 节点个数 <= 5000 解题思路 1. 根据前序序列的第一个元素建立根结点; 2. 在中序序列中找到该元素,确定根结点的左右子树的中序序 ...
分类:
其他好文 时间:
2020-03-17 19:34:31
阅读次数:
47
1、从数组第2个元素开始抽取元素。 2、把它与左边第一个元素比较,如果左边第一个元素比它大,则继续与左边第二个元素比较下去,直到遇到不比它大的元素,然后插到这个元素的右边。 3、继续选取第3,4,….n个元素,重复步骤 2 ,选择适当的位置插入。 冒泡、选择都是把未排序的和未排序的进行比较换位 而插 ...
分类:
编程语言 时间:
2020-03-15 23:56:21
阅读次数:
252
大致题意就是给出一个二叉树的先序、中序遍历序列,要求输出二叉树后序遍历的第一个元素。 1 #include<iostream> 2 using namespace std; 3 4 const int maxn = 50010; 5 int n,pre[maxn],in[maxn],flag = 1 ...
分类:
其他好文 时间:
2020-03-15 13:35:31
阅读次数:
60
# 题意通过两个栈,4中操作,实现输入序列升序排序操作a:如果输入序列不为空,将第一个元素压入栈S1操作b:如果栈S1不为空,将S1栈顶元素弹出至输出序列操作c:如果输入序列不为空,将第一个元素压入栈S2操作d:如果栈S2不为空,将S2栈顶元素弹出至输出序列如果一个1~n的排列P可以通过一系列操作使 ...
分类:
编程语言 时间:
2020-03-15 09:47:23
阅读次数:
73
ArrayList ArrayList是基于数组实现的. ArrayList查找速度更快. ArrayList默认大小10.但是创建的时候仍然是空的.在添加第一个元素的时候会扩展到10. 扩容机制是每次大约50%. oldCapacity 1,就算是50%吧. 另外ArrayList最大长度是Int ...
分类:
其他好文 时间:
2020-03-10 18:39:48
阅读次数:
55
1 #include <stdio.h> 2 3 int main(void) 4 { 5 int a[6] = {2,1,0,5,4,3}; 6 int i; 7 QuickSort(a,0,5);//第二个参数表示第一个元素的下标 第三个参数表示最后的元素的下标 8 9 for(i= 0 ;i< ...
分类:
编程语言 时间:
2020-03-10 14:02:19
阅读次数:
69
迭代是Python最强大的功能之一,是访问集合元素的一种方式。 迭代器是一个可以记住遍历的位置的对象。 迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。 迭代器有两个基本的方法:iter() 和 next()。 字符串,列表或元组对象都可用于创建迭代器: 参 ...
分类:
其他好文 时间:
2020-03-07 11:20:40
阅读次数:
65
[Toc] 这是ES6新增的方法 find find()函数用来查找目标元素,找到就返回该元素,找不到返回undefined。 findIndex findIndex() 方法返回传入一个测试条件(函数)符合条件的数组第一个元素位置。 find为数组中每一个元素都调用一次函数执行: 当数组中的元素在 ...
分类:
Web程序 时间:
2020-03-06 13:19:37
阅读次数:
72
```python """ sys模块是与Python解释器交互的一个接口 """ import sys print(sys.argv) # 命令行参数List,第一个元素是程序本身路径 # sys.exit(1) # 退出程序,正常退出时exit(0),错误退出sys.exit(1) print(... ...
分类:
编程语言 时间:
2020-03-03 14:48:55
阅读次数:
72
1、插入排序 它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。 我们预留了一个哨兵,这里我们将用到它来保存一个临时值。插入排序是在一个已经有序的小序列的基础上,一次插入一个元素。当然,刚开始这个有序的小序列只有1个元素,就是第一个元素。比较是从有序序列 ...
分类:
编程语言 时间:
2020-03-03 00:53:11
阅读次数:
57