#include <iostream>
#include <stack>
#include <string>
using namespace std;int main()
{
int n;cin>>n;
while(n--){
stack<char> s;
string str;cin>>str;
for(int i=0;i!=str.length();i++){
if(s.empty()) s.push(str[i]);
else{
if(s.top()==‘(‘){
if(str[i]==‘)‘) s.pop();
else s.push(str[i]);}
else if(s.top()==‘[‘){
if(str[i]==‘]‘) s.pop();
else s.push(str[i]);
}
else {s.push(str[i]);}
}
}
if(s.empty()) cout<<"Yes"<<endl;
else cout<<"No"<<endl;}
return 0;
}
括号匹配(栈的应用)
时间: 2024-10-13 11:25:43