文章

3

粉丝

0

获赞

9

访问

678

头像
括号匹配 题解:
P1501 西北工业大学机试题
发布于2025年3月21日 19:18
阅读数 156

//一定要注意先输入 ')' 或者 ']' 的情况,此时正好栈为空,这个时候检查栈顶元素是不是 '(' 就会出现错误,这是由于栈空时检查栈顶元素是非法的,故在初始化栈的时候就先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...

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发