解题笔记(7)——判断整数序列是不是二元查找树的后序遍历结果
来源:互联网 发布:c语言的且或非 编辑:程序博客网 时间:2024/04/30 02:19
问题描述:输入一个整数数组,判断该数组是不是某二元查找树的后序遍历的结果。如果是返回true,否则返回false。
例如输入5、7、6、9、11、10、8,由于这一整数序列是如下树的后序遍历结果:
8
/ /
6 10
/ / / /
5 7 9 11
因此返回true。如果输入7、4、6、5,没有哪棵树的后序遍历的结果是这个序列,因此返回false。
思路:分析后序遍历的特点,序列的最后一个数应该是根结点,剩余的节点分为两个连续的子序列,前一子序列的值小于最后一个数,后一子序列的值大于最后一个数。然后递归求解这两个子序列。
如果是判断是前序遍历也很简单,只不过根节点变为了第一个数,剩余的节点也是分为两个连续的子序列。如果判断是中序遍历,更方便,只需扫描一遍,检查序列是不是排好序的,如果没有排好序,就不是中序遍历的结果。
代码:可参考何海涛的,写的非常好。http://zhedahht.blog.163.com/
- 解题笔记(7)——判断整数序列是不是二元查找树的后序遍历结果
- 算法—判断整数序列是不是二元查找树的后序遍历结果
- 9.判断整数序列是不是二元查找树的后序遍历结果(树)
- 算法讨论(五)--判断整数序列是不是二元查找树的后序遍历结果
- 判断整数序列是不是二元查找树的后序遍历结果(9)
- 第九题(判断整数序列是不是二元查找树的后序遍历结果)
- 微软,Google面试题 (6) —— 判断整数序列是不是二元查找树的后序遍历结果
- 每日一道算法题6——判断整数序列是不是二元查找树的后序遍历结果
- 判断整数序列是不是二元查找树的后序遍历结果
- 判断整数序列是不是二元查找树的后序遍历结果
- 判断整数序列是不是二元查找树的后序遍历结果
- 算法题11 判断整数序列是不是二元查找树的后序遍历结果
- 判断整数序列是不是二元查找树的后序遍历结果
- 9.判断整数序列是不是二元查找树的后序遍历结果
- MS100(9)-判断整数序列是不是二元查找树的后序遍历结果
- 判断整数序列是不是二元查找树的后序遍历结果
- 9、判断整数序列是不是二元查找树的后序遍历结果
- 判断整数序列是不是二元查找树的后序遍历结果
- if 0
- 比一比:一个普通美国人的工资单
- AdvancedDataGrid实现CheckBox全选功能
- 获得当前IP的位置及经纬度的web服务
- 从数据库表中获取一条随机数据
- 解题笔记(7)——判断整数序列是不是二元查找树的后序遍历结果
- oracle 中lpad的用法
- arm 下C编程的非对齐访问
- activiti5.0(activiti的第一个稳定版)的安装
- Hibernate执行原生SQL查询
- c#获取用户登录IP
- Android: Android Bluetooth
- 在制品,work in process
- Java如何获得一个类里面的各个属性和类型