剑指offer(20)-二叉搜索树的后序遍历序列
来源:互联网 发布:淘宝如何申请海外购 编辑:程序博客网 时间:2024/06/03 13:49
题目描述
输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。
代码
class Solution {public: bool VerifySquenceOfBST(vector<int> sequence) { int size = sequence.size(); if(0==size) { return false; } return isLastOrder(sequence, 0, size-1); }private: bool isLastOrder(vector<int>& sequece, int b, int e) { if(b==e) { return true; } int mid = b; while(sequece[mid++]<sequece[e] && mid<e); int tmp = mid; while (sequece[tmp++]>sequece[e] && tmp<e); if(tmp<e) { return false; } if(mid==b || mid==e) { return isLastOrder(sequece, b, e-1); } else { return (isLastOrder(sequece, b, mid-1) && isLastOrder(sequece, mid, e-1)); } }};
0 0
- 剑指offer:二叉搜索树的后序遍历序列
- 【剑指offer】二叉搜索树的后序遍历序列
- 剑指offer--二叉搜索树的后序遍历序列
- 剑指Offer-->二叉搜索树的后序遍历序列
- 《剑指offer》二叉搜索树的后序遍历序列
- 【剑指Offer】二叉搜索树的后序遍历序列
- 剑指offer--二叉搜索树的后序遍历序列
- 剑指 offer:二叉搜索树的后序遍历序列
- 剑指offer:二叉搜索树的后序遍历序列
- 【剑指offer】二叉搜索树的后序遍历序列
- 二叉搜索树的后序遍历序列||剑指offer
- 剑指offer-二叉搜索树的后序遍历序列
- 剑指offer 二叉搜索树的后序遍历序列
- 剑指offer 二叉搜索树的后序遍历序列
- 剑指offer:二叉搜索树的后序遍历序列
- [剑指offer]二叉搜索树的后序遍历序列
- 《剑指offer》-二叉搜索树的后序遍历序列
- 【剑指offer】二叉搜索树的后序遍历序列
- C++ 异常机制分析
- 离屏渲染学习笔记
- Node.js服务器端编程实践(二):服务器如何根据不同的URL路径请求做出应答
- Eclipse Debug不为人知的秘密
- 解决IllegalStateException: Can not perform this action after onSaveInstanceState
- 剑指offer(20)-二叉搜索树的后序遍历序列
- markdown编辑器语法——字体、字号与颜色
- php和C#的yield实现对比
- android中listView下有Button按钮始终在最底部
- Jsp网页中全角空格和半角空格放入区别
- CocoaPods使用总结
- CSS3圆角边框
- Eclipse 的 Debug 介绍与技巧
- C#配置文件中的与数据库有关的字符串