文章
3
粉丝
0
获赞
9
访问
678
//一定要注意先输入 ')' 或者 ']' 的情况,此时正好栈为空,这个时候检查栈顶元素是不是 '(' 就会出现错误,这是由于栈空时检查栈顶元素是非法的,故在初始化栈的时候就先push一个不会影响括号匹配的元素,保证先输入 ')'不会出现非法的情况;
#include<bits/stdc++.h>
using namespace std;
char s[10000];
int main(){
gets(s);
int len= strlen(s);
stack<char>sta;
sta.push('x');
for(int i=0;i<len;i++){
if(len==1){
cout<<"NO"<<endl;
return 0;
}
if(s[i]=='('||s[i]=='['){
sta.push(s[i]);
&nbs...
登录后发布评论
暂无评论,来抢沙发