AcWing 828. 模拟栈
原题链接
简单
作者:
L-China
,
2022-12-01 22:56:51
,
所有人可见
,
阅读 291
C++
#include<iostream>
using namespace std;
const int N = 1e5 + 10;
//栈:先进后出
int stk[N], tt;// stk: 栈 tt: 栈顶的下标
// // 插入一个x
// stk[ ++ tt] = x;
// //弹出
// tt--;
// //判断栈是否为空
// if(tt > 0) not empty;
// else empty;
// //栈顶
// stk[tt];
int main(){
int m;
cin >> m;
while (m --) {
string op;
int x;
cin >> op;
if (op == "push"){//向栈顶插入一个数 x
cin >> x;
stk[ ++ tt] = x;
}else if (op == "pop"){//从栈顶弹出一个数
tt --;
}else if (op == "empty"){//判断栈是否为空
if (tt > 0) cout << "NO" << endl;
else cout << "YES" << endl;
}else {//查询栈顶元素
cout <<stk[tt] << endl;
}
}
return 0;
}