一. 问题描述 根据一棵树的中序遍历与后序遍历构造二叉树。 注意: 你可以假设树中没有重复的元素。 例如,给出 中序遍历 inorder = [9,3,15,20,7] 后序遍历 postorder = [9,15,7,20,3] 返回如下的二叉树: 3 / \ 9 20 / \ 15 7 二. 解 ...
分类:
其他好文 时间:
2019-11-10 11:39:14
阅读次数:
70
(判断一个元素均不相同的序列是否为一个BST的LRD) 书中方法:首先 对于二叉搜索树,左子树中的所有元素小于根节点小于右子树中的所有元素,然后后序遍历序列最后一个元素是根节点,这是我们已知的条件 。这道题不禁让人想起用一个普通二叉树的前序(或后序)遍历序列加上中序遍历序列就可以还原一棵二叉树,在那 ...
分类:
编程语言 时间:
2019-10-09 10:55:41
阅读次数:
126
题目描述: 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。 思路: 采用分治法,先找到根节点,再根据根节点找到左右子树序列,在判断左右子树序列是否满足二叉树的后序遍历。 由题意可知,后序遍历序列最后一个元数就 ...
分类:
其他好文 时间:
2019-10-05 20:15:38
阅读次数:
81
题目描述 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。 解题思路 后序遍历,顾名思义根节点位于尾部,故可将一个序列分为左子树序列、右子树序列和根节点,对于两个子序列又可分别验证是否是二搜索叉树的后序序列,即 ...
分类:
其他好文 时间:
2019-10-05 20:14:42
阅读次数:
77
根据一棵树的中序遍历与后序遍历构造二叉树。 注意:你可以假设树中没有重复的元素。 例如,给出 中序遍历 inorder = [9,3,15,20,7]后序遍历 postorder = [9,15,7,20,3]返回如下的二叉树: 3 / \ 9 20 / \ 15 7 算法:跟上一题类似的算法。需要 ...
分类:
其他好文 时间:
2019-07-10 23:11:20
阅读次数:
220
1. 链表 1. 从尾到头打印链表 2. 链表中倒数第k个结点 3. 反转链表 4. 合并两个排序的链表 5. 复杂链表的复制 6. 复杂链表的复制 7. 两个链表的第一个公共结点 8. 链表中环的入口结点 9. 删除链表中重复的结点 2. 二叉树 10. 重建二叉树 11. 树的子结构 12. 二 ...
分类:
其他好文 时间:
2019-06-01 19:29:47
阅读次数:
175
题目描述输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。classSolution:"""一个二叉搜索树BST满足:max(左子树)<根节点<min(右子树)由于题目给出的是一个后序遍历,那么序列的最后一个元素就应该是根节点。因此我们从BST的定义出发,遍历整个序列,找到第一个大于根节点的元素k,
分类:
其他好文 时间:
2019-05-23 23:08:02
阅读次数:
130
题目:二叉搜索树的后续遍历数列 要求:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。 左图的正确后序遍历序列5、7、6、9、1 1、10、8 第一:递归求解方法 bug1: 关于16行到底是返回temp+1还 ...
分类:
其他好文 时间:
2019-05-18 20:35:48
阅读次数:
254
题目:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出true,否则输出false。假设输入的数组的任意两个数字都不相同。 思路:首先二叉搜索树是指左子树全部小于根节点,右子树全部大于根节点的树。故: 对于一棵树:首先找到右子树的第一个节点,然后判断右子树中是否有小于根节 ...
分类:
其他好文 时间:
2019-05-04 11:54:11
阅读次数:
137
前往 中序,后序遍历构造二叉树, 中序,前序遍历构造二叉树 ...
分类:
其他好文 时间:
2019-05-02 23:06:43
阅读次数:
181