简单时间限制: 1000MS内存限制: 256MB分数:100OI排行榜得分:12(0.1*分数+2*难度)
栈基础第十讲(Level2)
描述
假设表达式中只允许包含一种括号:中括号,需要成对出现。即[[ ]]或[[ ][ ]]等为正确的格式,[[ ]或[ ]]或[[[均为不正确的格式。
给定一串括号输入(换行作为结束符),检测格式是否正确,若正确输出YES;错误输出NO。
(括号数量≤100)
输入描述
无
输出描述
无
样例输入 1
[[]]
样例输出 1
YES
以下为代码:
#include<bits/stdc++.h>
using namespace std;
int main() {
stack<char>s;
string a;
cin>>a;
for(int i = 0 ; i < a.size() ; i++){
if(a[i]=='[') s.push(a[i]);
else{
if(s.empty()==true){
cout<<"NO";
return 0;
}
else s.pop();
}
}
if(s.empty()==true) cout<<"YES";
else cout<<"NO";
return 0;
}