赞
踩
char pairs(char ch){//化一对为相等 switch(ch){ case '}':return '{'; case ')':return '('; case ']':return '['; default:return 0; } } bool isValid(char * s){ int n = strlen(s); int flag = 0; int num = 0; char stk[n+1];//1.用栈来实现 int j = 0; for(int i=0;i<n;i++){//前半个括号入栈,后半个括号若匹配就出栈否则false if(0==pairs(s[i])){ j++;//因为先j++,从1开始所以stk定义长度为n+1 stk[j]=s[i]; num++; } else{ if(pairs(s[i])==stk[j]){ j--; num--; } else{ return false; } } } if(0==j){ return true; } else{ return false; } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。