判断一个数列是不是搜索二叉树后续遍历输出的结果
2015-04-21 21:55
267 查看
剑平面阿里被问到这个,刚开始画了下看有什么性质,乱蒙了几个都被推翻了,初始感觉就是要O(n)的,因为印象中BST的构树都可以O(nlogn)搞定。然后剑平说最后一个数肯定是根节点,一下反应过来了,就是二分出间隔点然后两边递归判断,不过这好像还是构树的思路,可以把整棵树构造出来。然后剑平说不是二分,直接遍历。不科学啊,明显的二分,然后去网上搜一下,都是遍历的,O(n^2)的吧。想了想,二分是当做合法的情况来构树的,不合法怎么判断?构造出搜索二叉树后中序遍历一下不就行了么,妥妥的O(nlogn)吧。
相关文章推荐
- 剑指off-判断一个数组是不是搜索二叉树的后序遍历的序列
- 《剑指Offer》输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。
- 判断一个数列是否是二叉树后序遍历的结果
- 【剑指offer24】输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。
- 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。
- 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。
- 剑指offer24判断某一序列是否是某一搜索二叉树的后续遍历结果
- 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。
- java 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。
- 判断一个数组是不是二叉树后序遍历的结果
- 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。
- 输入一个整数数组,判断该数组是不是某个二叉搜索树的前序遍历结果
- 输入一个整数数组,判断该数组是不是某二元查找树的后序遍历的结果
- 判断整数序列是不是二元查找树的后续遍历结果
- 每天学习一算法系列(9) (输入一个整数数组,判断该数组是不是某二元查找树的后序遍历的结果)
- 二叉树问题---判断数组是否为某搜索二叉树的后序遍历的结果
- 输入一个数组,判断该数组是否是某二叉树的前序遍历结果
- 二叉树系列——判断一个序列是不是一棵二叉搜索树的遍历序列
- 判断一个序列是不是二叉查找树的后序遍历结果
- 让用户输入一个5位数(若不是5位数,则提示错误),判断它是不是回文数,输出判断结果。回文数:如12321是一个回文数,万位与个位相同,十位与千位相同。