面试题24:二叉搜索树的后续遍历序列

来源:互联网 发布:mac adobe id安装失败 编辑:程序博客网 时间:2024/04/29 05:07

这里写图片描述

#include <deque>#include <stdio.h>#include <iostream>#include <stdlib.h>using namespace std;bool VerifySequenceOfBST(int *sequence, int length){    if (sequence == NULL  || length <= 0 )    {        return false;    }      int root = sequence[length-1] ;          int i = 0;    for(; i < length -1; i++ )    {        if(sequence[i] > root )        {            break;        }    }    int j = i;    for(;j < length -1; j++)    {        if(sequence[j] < root)        {            return false;        }    }    bool left = true;    if(i > 0)    {      left  = VerifySequenceOfBST(sequence, i);    }    bool right = true;    if(i < length -1)        right = VerifySequenceOfBST(sequence+i, length - i - 1 );    return  (left && right);}int main(){    int a[7] = {5,7,6,9,11,10,8};    int a1[4]= {7,4,6,5};    bool result =false;    result = VerifySequenceOfBST(&a1[0], 4);    cout<<result<<endl;    return 0;}
0 0