首页 > 代码库 > 判断后序序列是否合法
判断后序序列是否合法
自己写的
#include<stdio.h>bool check(int a[],int start,int end);void main(){// int a[]={5,7,6,9,11,10,8}; int a[]={7,4,6,5}; int len=sizeof(a)/sizeof(int); if(check(a,0,len-1)) printf("ok\n"); else printf("not ok\n");}bool check(int a[],int start,int end){ if(end==start) return 1; int s=start,e=end; while(s<e && a[s]<=a[end]) s++; if(s==e) return 1; int newend=s-1; while(s<e && a[s]>=a[end]) s++; if(s<e || s==e && a[s]<a[end]) return 0; bool one,two; one=check(a,start,newend); two=check(a,newend+1,end-1); return one & two;}
判断后序序列是否合法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。