二叉树的后续遍历序列

来源:互联网 发布:僵尸变脸软件下载 编辑:程序博客网 时间:2024/05/14 16:38

代码:

#include <iostream>#include <vector>#include <assert.h>using namespace std;bool verifyBst(int data[],int length){if(data == NULL || length <=0)return true;int root = data[length - 1];int i=0;//查找左子树节点和长度  左子树小于根节点for(;i < length -1 ;i++){if(data[i] > root)break;}//查找右子树节点和长度 右子树大于根节点int j=i;for(;j < length-1 ;j ++){if(data[j] < root )return false;}//判断左子树是否是二叉树bool left = true;left = verifyBst(data,i);bool right = true;right = verifyBst(data+i,length - i -1);return left && right ;}int main(){//int data[]={5,7,6,9,11,10,8};int data[]={7,4,6,5};cout<<verifyBst(data,sizeof(data) / sizeof(int));    return 0;}

运行结果:


1 2
原创粉丝点击