二叉搜索树的后序遍历序列序列判断是否是二叉搜索树
2016-01-24 17:41
471 查看
class Solution { public: bool VerifySquenceOfBST(vector<int> sequence) { if(sequence.empty() == true) { return false; } return PanDuanTree(sequence,0,sequence.size()-1); } bool PanDuanTree(vector<int>seq,int begin,int end) { int root = seq[end]; int i; for(i = begin;i < end ;i++) { if(seq[i] > root) { break; } } int mid = i; for(int j = mid;j < end ;j++) { if(seq[j] < root) { return false; } } bool left = true; bool right = true; if(mid > begin) { left = PanDuanTree(seq,begin,mid-1); } if(mid < end-1) { right = PanDuanTree(seq,mid,end-1); } return left && right; } };
相关文章推荐
- Linux磁盘分区,目录树,文件系统的关系(转)
- 音乐之声
- XML与html的区别
- android graphic(4)—surfaceflinger和Vsync
- LCA树两个节点最低公共祖先
- Activity与Service的交互一
- mybatis+log4j 打印sql
- JavaEE Tutorials (30) - Duke综合案例研究示例
- float 浮点数的无效值和无限大和无限小
- 树的打印方式
- 【转】Hadoop生态上几个技术的关系与区别:hive、pig、hbase 关系与区别
- hdu 1159(DP+字符串最长公共序列)
- iOS9 中不支持http
- Ceph安装
- HDOJ 2041 超级楼梯
- Hive简介
- JavaEE Tutorials (29) - Duke辅导案例研究示例
- tornado的简单使用
- 数据结构实现之索引优先队列用例(多路归并)
- uva 101 - The Blocks Problem