这倒题比较简单,在这里主要是记录一下牛客刷题的一个小小的错误原因
刚开始在网上找解决办法,网上有的说是牛客的编译系统的问题,最后还是发现是自己代码的问题。代码中有出栈的操作,在出栈前一定记得要判断一下栈是否为空,否则当栈为空的时候出栈肯定就堆栈溢出了。
#include<iostream>
#include<stack>
using namespace std;
stack<int> number;
int main(){
int n;
while(cin>>n && n!=0){
while(n--){
int num;
char c;
cin>>c;
if(c=='P'){
cin>>num;
number.push(num);
}
else if(c=='A'){
if(number.empty()){
cout<<"E\n";
}
else{
cout<<number.top()<<endl;
}
}
else if(c=='O'){
if(!number.empty()){
number.pop();
}
}
}
cout<<endl;
while(!number.empty()){
number.pop();
}
}
return 0;
}