题解 | #堆栈的使用#

堆栈的使用

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

语言:C++11

方法:库函数stack的基本操作

#include "iostream"
#include "stack"

using namespace std;

int main() {
    // I/O 加速
    std::ios::sync_with_stdio(false);
    std::cin.tie(0);
    int n;
    while (cin >> n) {                                          // 用于多组数据输入
        stack<int> Stack;                                       // 栈
        for (int i = 0; i < n; ++i) {                           // 处理接下来的n组数据
            char input;                                         // 用于接收输入的 P(压栈) O(出栈) A(问询)
            int inputNum;
            cin >> input;
            if (input == 'P') {                                 // 情况 P(压栈)
                cin >> inputNum;
                Stack.push(inputNum);
            } else if (input == 'O' && !Stack.empty()) {        // 情况 O(出栈)
//                cout << Stack.top() << endl; // 不需要输出
                Stack.pop();
            } else if (input == 'A') {
                if (!Stack.empty()) cout << Stack.top() << endl; // 情况 A(问询)
                else cout << "E" << endl;
            }
        }
    }
    return 0;
}

全部评论

相关推荐

屌丝逆袭咸鱼计划:心态摆好,man,晚点找早点找到最后都是为了提升自己好进正职,努力提升自己才是最关键的😤难道说现在找不到找的太晚了就炸了可以鸡鸡了吗😤早实习晚实习不都是为了以后多积累,大四学长有的秋招进的也不妨碍有的春招进,人生就这样
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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