输入一个数组,判断该数组是否是某二叉树的前序遍历结果

来源:互联网 发布:中国国民收入数据库 编辑:程序博客网 时间:2024/04/30 14:45
#include <iostream>using namespace std;bool verify_tree_pre(int a[],int len){if (a==NULL || len<=0){return false;}int root = a[0];int i,j;for (i=1;i<len;i++){if (a[i] > root){break;}}for (j = i;j<len;j++){if (a[j] < root){return false;}}bool left = true;if (i-1 > 0){left = verify_tree_pre(a+1,i-1);}bool right = true;if (len-i > 0){right = verify_tree_pre(a+i,len-i);}return (left&&right);}int main(){int a[] = {8,6,5,7,10,9,11};int len = sizeof(a)/sizeof(a[0]);if (verify_tree_pre(a,len)){cout<<"yes"<<endl;}else{cout<<"no"<<endl;}return 0;}

0 0
原创粉丝点击