文章
27
粉丝
0
获赞
59
访问
1.5k
#include<bits/stdc++.h>
#include<stack>
using namespace std;
int main(){
string ss;
getline(cin,ss);
if(ss.size()%2!=0) {
cout<<"NO";
return 0;
}
bool flag = true;//标记一处地点
stack<char> s1;
for(int i=0;i<=ss.size();i++){//屎山判断,符号栈进栈出栈.
if(ss[i]=='[') s1.push('[');
if(ss[i]=='(') s1.push('(');
if(ss[i]==']') {
if(s1.top()=='[') {
s1.pop();
}else {
flag = false;
break;
}
}
if(ss[i]==')'){
if(s1.top()=='('){
s1.pop();
}else{
flag = false;
break;
}
}
else{
flag = false;
break;
}
}
if(!s1.empty()) flag = false;
if(flag) cout<<"YES";
else cout<<"NO";
return 0;
}
登录后发布评论
暂无评论,来抢沙发