您的位置:首页 > 其它

括号配对

2015-08-08 17:28 253 查看
/*题目描述

输入一行字符串,都为括号,判断是否匹配.只有{} [] () <>这些。
输入
第一行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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: