标签:AC width -- end || http nbsp ace span
编写代码时,我们经常会多写或少写某一半括号,导致编译错误,请编写一个程序,判断是否有这个问题。
输入
第一行输入一个数N(0<N<=100),表示有N组测试数据。后面的N行为多组测试数据,
每组数据都是一个字符串S(S的长度小于10000,且S不是空串,只由‘{’,‘}’,‘(’,‘)’组成)。
输出
每组测试数据的输出占一行,如果该无错误,则输出Yes,反之,输出No
样例输入
3
{(})
(})
({{}()})
样例输出
No
No
Yes
1 //2、栈 2 #include<iostream> 3 #include<string.h> 4 using namespace std; 5 char s[1005]; 6 char stack[1005]; 7 int main(){ 8 int n; 9 cin>>n; 10 while(n--){ 11 int len,top=1; 12 cin>>s; 13 len=strlen(s); 14 stack[top]=s[0]; 15 top++; 16 for(int i=1;i<len;i++){ 17 if(s[i]==‘{‘||s[i]==‘(‘){ 18 stack[top++]=s[i]; 19 } 20 else{ 21 if(stack[top-1]==‘{‘&&s[i]==‘}‘) 22 top--; 23 else if(stack[top-1]==‘(‘&&s[i]==‘)‘) 24 top--; 25 else 26 stack[top++]=s[i]; 27 } 28 } 29 if(top==1) 30 cout<<"Yes"<<endl; 31 else 32 cout<<"No"<<endl; 33 } 34 return 0; 35 }
运行截图:
标签:AC width -- end || http nbsp ace span
原文地址:https://www.cnblogs.com/geziyu/p/9222321.html