#include<stdio.h>
#include<string.h>
int main()
{
int i,T,len;
int flag;
int s[135],st;
char c[135];
scanf("%d",&T);
getchar();
while(T--)
{
gets(c);
len=strlen(c);
flag=0;
st=0;
for(i=0;i<len;i++)
{
if(c[i]=='(')
s[st++]=0;
else if(c[i]=='[')
s[st++]=1;
else if(c[i]==')')
{
if(st!=0 && s[st-1]==0)
st--;
else
{
flag=1;
break;
}
}
else if(c[i]==']')
{
if(st!=0 && s[st-1]==1)
st--;
else
{
flag=1;
break;
}
}
else
{
flag=1;
break;
}
}
if(flag || st!=0)
printf("No\n");
else
printf("Yes\n");
}
return 0;
}UVA 673、(就是一个括号的匹配问题。利用栈的性质最好不过了!!!)
最新推荐文章于 2022-03-24 17:50:22 发布
本文提供了一种使用C语言解决括号匹配问题的有效方法。通过分析输入字符串中的括号类型(圆括号和方括号),该程序能够判断括号是否正确配对,并给出相应的反馈。适用于初学者和需要理解基本数据结构的人。
381

被折叠的 条评论
为什么被折叠?



