判断一个数组是否是后序遍历得到的结果

bool verifySequenceOfBST(int sequence[],int length){
    if(sequence == NULL || length == 0){
        return false;
    }
    int root = sequence[length - 1];
    int i =0 ;
    for ( i = 0; i < length - 1; ++i) {
        if(sequence[i]> root){
            break;
        }
    }
    int j =i;
    for ( j = 0; j < length - 1; ++j) {
        if(sequence[j] < root){
            return false;
        }
    }
    bool left = true;
    if(i>0){
        left = verifySequenceOfBST(sequence,i);
    }
    bool right = true;
    if(right < length - 1){
        right = verifySequenceOfBST(sequence,right);
    }
    return left && right;
}
原文地址:https://www.cnblogs.com/dongma/p/13922847.html