题目描述 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。 解题思路:本题中的树为二叉搜索树,满足左<根<右 1)求出数组最后一个元素,为根节点 2)遍历,将所有连续小于sequence[n-1]的存入vect ...
分类:
其他好文 时间:
2017-05-25 11:53:26
阅读次数:
190
题目描述 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。 基本思路 在后序遍历得到的序列中,最后一个数字是树的根节点的值。数组中前面的数字可以分为两部分:第一部分是左子树节点的值,它们都比根节点的值小;第二部 ...
分类:
其他好文 时间:
2017-05-14 13:52:40
阅读次数:
178
输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。 分析:采用递归的思想,先找出根节点,左子树元素都必须比根节点小,右子树节点都比根节点大,否则返回false. 得到子树(子序列)的两种方法: ①用下标把数组 逻 ...
分类:
其他好文 时间:
2017-04-18 21:19:18
阅读次数:
160
class Solution { bool judge(vector& a, int left, int right) { if(left>=right) return true; int i=right; //此时数组的right就是根 while(i>left&&a[i-1]>a[right])... ...
分类:
编程语言 时间:
2017-03-27 13:29:11
阅读次数:
131
输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。 ...
分类:
其他好文 时间:
2017-03-25 15:26:16
阅读次数:
151
【思路】BST的后序序列的合法序列是,对于一个序列S,最后一个元素是x (也就是根),如果去掉最后一个元素的序列为T,那么T满足:T可以分成两段,前一段(左子树)小于x,后一段(右子树)大于x,且这两段(子树)都是合法的后序序列。下面是在讨论中看到的一份代码,已学习到。 ...
分类:
其他好文 时间:
2017-03-01 13:53:18
阅读次数:
127
题目描述输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。//递归publicclassSolution{publicbooleanVerifySquenceOfBST(int[]sequence){if(sequence.length==0)returnfalse;if(sequenc..
分类:
其他好文 时间:
2016-09-10 14:48:19
阅读次数:
214
输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。 ...
分类:
其他好文 时间:
2016-08-29 19:17:35
阅读次数:
228
输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。 每个测试案例包括2行: 第一行为1个整数n(1<=n<=10000),表示数组的长度。 第二行包含n个整数,表示这个数组,数组中的数的范围是[0,1000000 ...
分类:
其他好文 时间:
2016-08-13 12:35:48
阅读次数:
152