全RE怎么办

P1241 括号序列

a15801016376 @ 2024-09-30 21:02:22

#include<iostream>
#include<stack>
using namespace std;
int main(){
    string str;
    stack<char>mys;
    cin>>str;
    for(int i=0;i<str.length();i++){
        if(str[i]=='('||str[i]=='['){
            mys.push(str[i]);
        }
        else if(str[i]==')'){
            if(mys.top()=='('){
                cout<<mys.top()<<str[i];
                mys.pop();
            }
            else
                mys.push(str[i]);
        }
        else if(str[i]==']'){
            if(mys.top()=='['){
                cout<<mys.top()<<str[i];
                mys.pop();
            }
            else
                mys.push(str[i]);
        }
        else
            mys.push(str[i]);
    }
    while(!mys.empty()){
        if(mys.top()=='('){
            cout<<mys.top()<<')';
            mys.pop();
        }
        if(mys.top()=='['){
            cout<<mys.top()<<']';
            mys.pop();
        }
        if(mys.top()==')'){
            cout<<'('<<mys.top();
            mys.pop();
        }
        if(mys.top()==']'){
            cout<<'['<<mys.top();
            mys.pop();
        }
    }
    return 0;
}

by lzy120406 @ 2024-09-30 21:10:25

@a15801016376 top和pop操做时都要判栈是否为空


by fmx169169169 @ 2024-10-08 21:41:22

@a151801016376top和pop要清空


|