[剑指offer][面试题24]二叉搜索树的后序遍历序列
来源:互联网 发布:类似sai mac 编辑:程序博客网 时间:2024/05/21 18:49
输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则返回true,否则返回false。假设输入的数组的任意两个数字都互不相同。例如输入数组{5,7,6,9,11,10,8},则返回true,如果输入的数组是{7,4,6,5},则返回false。
#include <iostream>#include <stack>using namespace std;bool isPostOrderOfBST(int *pOrder, int iLength){if (pOrder==NULL){return false;}int iValRoot = pOrder[iLength-1];int iLenLeft = -1;int iLenRight= -1;while (pOrder[iLenLeft+1]<iValRoot){iLenLeft++;}iLenLeft++;iLenRight = iLength-1-iLenLeft;for (int i=iLenLeft; i<iLength; i++){if (pOrder[i]<iValRoot-1){return false;}}if (iLenLeft==0 && iLenRight==0){return true;}else if(iLenLeft==0 || iLenRight==0){return isPostOrderOfBST(pOrder, iLength-1);}else{return isPostOrderOfBST(pOrder, iLenLeft) && isPostOrderOfBST(pOrder+iLenLeft, iLenRight);}}int main(){int pPostOrder0[] = {5,7,6,9,11,10,8};int pPostOrder1[] = {5,7,9,6,11,10,8};cout<<isPostOrderOfBST(pPostOrder0, 7)<<endl;cout<<isPostOrderOfBST(pPostOrder1, 7)<<endl;}
- [剑指offer][面试题24]二叉搜索树的后序遍历序列
- 【剑指offer】面试题24:二叉搜索树的后序遍历序列
- 剑指Offer:面试题24 二叉搜索树的后序遍历序列
- 《剑指Offer》面试题24:二叉搜索树的后序遍历序列
- 剑指offer 面试题24—二叉搜索树的后序遍历序列
- 剑指offer--面试题24:二叉搜索树的后序遍历序列--Java实现
- 【剑指Offer学习】【面试题24:二叉搜索树的后序遍历序列】
- 剑指Offer面试题24(Java版):二叉搜索树的后序遍历序列
- 剑指offer面试题24-二叉搜索树的后序遍历序列
- 剑指offer-面试题24:二叉搜索树的后序遍历序列
- 剑指offer之面试题24:二叉搜索树的后序遍历序列
- 剑指Offer----面试题24:二叉搜索树的后序遍历序列
- 剑指offer-面试题24:二叉搜索树的后序遍历序列
- 剑指offer面试题24:二叉搜索树的后序遍历序列
- 剑指offer面试题24:二叉搜索树的后序遍历序列
- 剑指offer--面试题24: 二叉搜索树的后序遍历序列
- 剑指offer——面试题24:二叉搜索树的后序遍历序列
- 剑指Offer之面试题24:二叉搜索树的后序遍历序列
- 17.4.2 使用DatagramSocket发送、接收数据 #知识库
- Call Stack Memory Management
- 个人笔记
- Using Valgrind to debug memory leaks
- bzoj 2120 数颜色 树状数组套可持久化数据结构。
- [剑指offer][面试题24]二叉搜索树的后序遍历序列
- 关于glibc中内存回收的试验
- Linux下获得CPU利用率和内存使用情况(C实现)
- 排序算法归纳
- 如何在linux下检测内存泄漏
- BigDecimal类
- JAVA基础之理解JNI原理
- 迎来最后的JAVAEE
- [《编程高手箴言》读后感]