题解 | #堆栈的使用#

堆栈的使用

https://www.nowcoder.com/practice/e91982a145944ceab6bb9a4a508e0e26

#include <iostream>
#include <cstdio>
#include <stack>
using namespace std;

int main() {
    int num;
    while (scanf("%d", &num) != EOF) {
        stack<int> testStack; //存放测试数据
        for (int i = 0; i < num; i++) {
            char temp;
            scanf("%c", &temp);
            if (temp == '\n') {
                scanf("%c", &temp); //过滤收到回车情况
            }
            if ('P' == temp) { //为P时入栈
                int integer;
                scanf("%d", &integer);
                testStack.push(integer);
            } else if ('O' == temp) { //为O时,栈不空则出栈
                if (!testStack.empty()) {
                    testStack.pop();
                }
            } else if ('A' == temp) { //为A时,查询当前值
                if (!testStack.empty()) {
                    printf("%d\n", testStack.top());
                } else {
                    printf("E\n");
                }
            }
        }
    }
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

05-19 19:57
蚌埠学院 Python
2237:Gpa70不算高,建议只写排名,个人技能不在多而在精,缩到8条以内。项目留一个含金量高的,减少间距弄到一页,硕士简历也就一页,本科不要写很多
实习,投递多份简历没人回...
点赞 评论 收藏
分享
流浪的神仙:无恶意,算法一般好像都得9硕才能干算法太卷啦
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务