根据一棵树的前序遍历与中序遍历构造二叉树。 注意:你可以假设树中没有重复的元素。 例如,给出 前序遍历 preorder = [3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回如下的二叉树: 3 / \ 9 20 / \ 15 7 算法:我们先在中序遍历中找到根结 ...
分类:
其他好文 时间:
2019-07-10 22:55:05
阅读次数:
94
一、原理 计数排序的核心在于将输入的数据值转化为键存储在额外开辟的数组空间中。作为一种线性时间复杂度的排序,计数排序要求输入的数据必须是有确定范围的整数。 步骤: (1)创建关键值(计数列表) (2)遍历序列中的每一个元素,相应的计数器增加1 (3)重新将元素存储列表中 二、实现 假如现在有一个列表 ...
分类:
编程语言 时间:
2019-06-30 17:27:03
阅读次数:
155
1. 链表 1. 从尾到头打印链表 2. 链表中倒数第k个结点 3. 反转链表 4. 合并两个排序的链表 5. 复杂链表的复制 6. 复杂链表的复制 7. 两个链表的第一个公共结点 8. 链表中环的入口结点 9. 删除链表中重复的结点 2. 二叉树 10. 重建二叉树 11. 树的子结构 12. 二 ...
分类:
其他好文 时间:
2019-06-01 19:29:47
阅读次数:
175
题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 /** * Definition for binar ...
分类:
其他好文 时间:
2019-06-01 19:12:46
阅读次数:
86
采用层序遍历的顺序,储存每一层的值,不存在的或者NULL值用#代替,每个位置以'/'结束 测试例子如下: 样例通过为47/48,一个深度为1000的偏二叉树没有通过; ...
分类:
其他好文 时间:
2019-05-28 17:01:20
阅读次数:
112
题目描述输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。classSolution:"""一个二叉搜索树BST满足:max(左子树)<根节点<min(右子树)由于题目给出的是一个后序遍历,那么序列的最后一个元素就应该是根节点。因此我们从BST的定义出发,遍历整个序列,找到第一个大于根节点的元素k,
分类:
其他好文 时间:
2019-05-23 23:08:02
阅读次数:
130
题目描述 根据一棵树的前序遍历与中序遍历构造二叉树。 注意: 你可以假设树中没有重复的元素。 例如,给出 返回如下的二叉树: 分析 这题 "剑指offer" 中出现过,虽然通过了,但是提交到leetcode上就特别差: 56 ms 75.9 MB 又看了别人的思路: (递归) O(n) 递归建立整棵 ...
分类:
其他好文 时间:
2019-05-21 15:57:35
阅读次数:
141
题目1-二叉树重建 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。 例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 思路 前序遍历:跟节点 + 左子树前序遍 ...
分类:
其他好文 时间:
2019-05-20 21:30:15
阅读次数:
175
题目:二叉搜索树的后续遍历数列 要求:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。 左图的正确后序遍历序列5、7、6、9、1 1、10、8 第一:递归求解方法 bug1: 关于16行到底是返回temp+1还 ...
分类:
其他好文 时间:
2019-05-18 20:35:48
阅读次数:
254
题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 /** * 输入某二叉树的前序遍历和中序遍历的结果, ...
分类:
其他好文 时间:
2019-05-10 11:12:09
阅读次数:
123