给大家推荐个靠谱的公众号程序员探索之路,大家一起加油
这是用编译器里的头文件建的栈 建议初学者自己先把栈的各种操作学会 再用编译器里的 头文件 要使用<stack> 必须定义c++头文件
#include<stdio.h>
#include<stack>
#include<string.h>
#include<iostream>
using namespace std;
main()
{
int n;
scanf("%d",&n);
while(n--)
{
char a[100];
int k;
stack<char> s;
scanf("%s",a);
k=strlen(a);
for(int i=0;i<k;i++)
{
if(a[i]=='('||a[i]=='['||a[i]=='{') s.push(a[i]);
else if(a[i]==')')
{
if(!s.empty()&&s.top()=='(') s.pop();
else s.push(a[i]);
}
else if(a[i]==']')
{
if(!s.empty()&&s.top()=='[') s.pop();
else s.push(a[i]);
}
else if(a[i]=='}')
{
if(!s.empty()&&s.top()=='{') s.pop();
else s.push(a[i]);
}
}
if(s.empty()) printf("Yes\n");
else printf("No\n");
}
}