来源:牛客网 《剑指offer》 题目描述 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。 先复习一下二叉搜索树(来自维基百科): 二叉查找树(英语:Binary Search Tree),也称二叉搜索树、有 ...
分类:
其他好文 时间:
2016-07-25 18:07:56
阅读次数:
208
二叉搜索树的后序遍历序列 题目描述 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。 思路 代码 ...
分类:
其他好文 时间:
2016-06-28 22:00:03
阅读次数:
121
题目:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。 思路:需要遍历树,二叉排序树的特点是 lchild.key < root.key < rchild.key 那么我们使用分治思想,先利用上面特点将左右子树 ...
分类:
其他好文 时间:
2016-06-27 19:12:10
阅读次数:
126
题目:
输入一个整数数组,判断该数组是不是一颗二叉搜索树的后续遍历的结果,如果是返回true,否则返回false
分析:由于二叉搜索树的特性,左子树一定小于根节点,右子树一定大于根节点,所以在一颗二叉搜索树中不会出现两个相同的节点
bool IsBST(int arr[],int len)
{
assert(arr !=NULL);
if(len < 0)
return fals...
分类:
其他好文 时间:
2016-06-24 10:57:04
阅读次数:
112
题目:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则返回true,否则返回false。假设输入的数组的任意两个数字都互不相同。 例如输入数组{5,7,6,9,10,8},则返回true,因为这个整数序列是下图二叉搜索树后序遍历的结果。如果输入的数组是{7,4,6,5},由于 ...
分类:
其他好文 时间:
2016-06-21 20:23:24
阅读次数:
103
题目描述
输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。
思路分析:BST的后序序列的合法序列是,对于一个序列S,最后一个元素是x (也就是根),如果去掉最后一个元素的序列为T,那么T满足:T可以分成两段,前一段(左子树)小于x,后一段(右子树)大于x,且这两段(子树)都是合法的后序序列。
pub...
分类:
其他好文 时间:
2016-06-12 01:57:39
阅读次数:
190
输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则返回true,否则返回false。假设输入数组的任意两个数组都互不相同。二叉搜索树的特点就是每个结点的左子树的值都比自身的值小,而右子树的值都比自身值要大。比如如上的二叉搜索树后序遍历的结果就是..
分类:
其他好文 时间:
2016-05-25 07:08:16
阅读次数:
197
题目描述
输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。
输入描述
整数数组
输出描述
布尔值
题目分析什么是二叉搜索树?
二叉查找树(Binary Search Tree),(又:二叉搜索树,二叉排序树)它或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值...
分类:
其他好文 时间:
2016-05-17 11:39:23
阅读次数:
102
输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果...
分类:
其他好文 时间:
2016-05-12 18:39:13
阅读次数:
154
【题目】输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是,返回true,否则输出false。假设输入的数组的任意两个数字都互不相同。 【思路】首先我们得知道什么是二叉搜索树,二叉查找树(Binary Search Tree),(又:二叉搜索树,二叉排序树)它或者是一棵空树,或者... ...
分类:
其他好文 时间:
2016-05-05 17:13:57
阅读次数:
151