本文共 1190 字,大约阅读时间需要 3 分钟。
3[(])(])([[]()])
NoNo
Yes
#include#include #include #include #include #include #include using namespace std;stack s; int main() { int n; char a[10000+5]; //声明为指针类型时候是变量p而数组名a为常量 声明为p时候报错RE scanf("%d",&n); while(n--){ while(!s.empty())//每次清空栈 s.pop(); scanf("%s",a); bool flag = true; int len = strlen(a); for(int i = 0; i < len; ++i){ if(a[i] == '(' || a[i] == '['){ s.push(a[i]); } else{ if(s.empty()){//防止栈为空的情况会RE flag = false; break; } if(!s.empty()){ char c = s.top(); s.pop(); if(c == '(' && a[i] == ')' || c =='[' && a[i] == ']') continue; flag = false; break; } } } if(!flag){ printf("No\n"); } else{ printf("Yes\n"); } } return 0; }
转载地址:http://ghimi.baihongyu.com/