站外RE求助

题目总版

99999873654as7829 @ 2024-09-18 21:16:19

主函数

    stack <char>a;
    string s;
    cin>>s;
    for(int i=0;i<s.size();i++){
        if(s[i]=='('&&a.top()==')'){
            a.pop();
        }
        else if(s[i]=='['&&a.top()==']'){
            a.pop();
        }
        else{
            a.push(s[i]);
        }
    }
    cout<<(!a.empty()?"OK":"Wrong");

by a11223344 @ 2024-09-18 21:18:57

题目是什么啊,程序能否确保循环过程中a会不会空


by 99999873654as7829 @ 2024-09-18 21:20:07

@a11223344 还是RE


by Alvin0228 @ 2024-09-18 21:20:11

出栈的时候要保证不为空


by a11223344 @ 2024-09-18 21:54:38

这样试一下呢,因为没看题所以有可能wa

    stack <char>a;
    string s;
    cin>>s;
    for(int i=0;i<s.size();i++){
        if(s[i]=='('&&!a.empty()&&a.top()==')'){
            a.pop();
        }
        else if(s[i]=='['&&!a.empty()&&a.top()==']'){
            a.pop();
        }
        else{
            a.push(s[i]);
        }
    }
    cout<<(!a.empty()?"OK":"Wrong");

|