题解 | 【模板】栈
【模板】栈
https://www.nowcoder.com/practice/104ce248c2f04cfb986b92d0548cccbf
//通过vector模拟即可,resize可以直接截取前面的数字舍弃末尾,剩下的直接简单输出就行
#include <iostream>
#include <vector>
#include <string>
using namespace std;
vector<int>res;
int n;
void push(int &val){
res.emplace_back(val);
return;
}
void pop(){
if(!res.empty()){
cout<<res.back()<<endl;
res.resize(res.size()-1);
}
else cout<<"error"<<endl;
return ;
}
void top(){
if(!res.empty()){
cout<<res.back()<<endl;
}
else cout<<"error"<<endl;
return ;
}
int main() {
int n;cin>>n;
while(n--){
string s;
cin>>s;
if(s=="push"){
int val;
cin>>val;
push(val);
}
else if(s=="pop"){
pop();
}
else top();
}
return 0;
}
// 64 位输出请用 printf("%lld")
