题解 | 括号的匹配
括号的匹配
https://www.nowcoder.com/practice/78f297134b0c4af09fb88218321c3fcc
#include <bits/stdc++.h>
using namespace std;
void solve()
{
string s;
cin>>s;
stack<char>t;
for(int i=0;i<s.size();i++)
{
if(t.empty())
t.push(s[i]);
else
{
if((t.top()=='('&&s[i]==')')||(t.top()=='['&&s[i]==']')||(t.top()=='{'&&s[i]=='}')||
(t. top()=='<'&&s[i]=='>'))
t.pop();
else
t.push(s[i]);
}
}
if(t.empty())
cout<<"YES"<<'\n';
else
cout<<"NO"<<'\n';
}
int main()
{
int T;
cin>>T;
while(T--)
{
solve();
}
return 0;
}

