/*题目描述
输入一行字符串,都为括号,判断是否匹配.只有{} [] () <>这些。
输入
第一行k测试数据组数
之后1~k+1行为一行字符串 长度<=100
输出
Yes or No
样例输入
3
(<>(){}[])
((()))
<)
样例输出
Yes
Yes
No
*/
#include <stdio.h>
int main()
{
int i;
scanf("%d",&i);
while(i--)
{
char s[10003];
int top = -1;
int k = 0;
scanf("%s",s);
for(;s[k]!=0;k++)
{
if(s[top]=='('&&s[k]==')'||s[top]=='['&&s[k]==']'||s[top]=='{'&&s[k]=='}'||s[top]=='<'&&s[k]=='>')
{
top--;
}
else
{
top++;
s[top] = s[k];
}
}
if(top==-1)
printf("Yes\n");
else
printf("No\n");
}
return 0;
}
括号配对
最新推荐文章于 2018-04-04 20:10:18 发布