刷题——利用两个栈实现队列

用两个栈实现队列_牛客题霸_牛客网

注意点:stack1代表已经放入的值,只有出栈放入stack2中,遵循先进后出原则,出来后,这样子的才是队列

class Solution
{
public:
    //入队列就正常入栈
    void push(int node) { 
        stack1.push(node);
    }

    int pop() {
        //将第一个栈中内容弹出放入第二个栈中
        while(!stack1.empty()){ 
            stack2.push(stack1.top()); 
            stack1.pop();
        }
        //第二个栈栈顶就是最先进来的元素,即队首
        int res = stack2.top(); 
        stack2.pop(); 
        //再将第二个栈的元素放回第一个栈
        while(!stack2.empty()){ 
            stack1.push(stack2.top());
            stack2.pop();
        }
        return res;
    }

private:
    stack<int> stack1;
    stack<int> stack2;
};

相关推荐

  1. ——利用实现队列

    2024-07-11 14:12:07       24 阅读
  2. 实现队列(c++实现

    2024-07-11 14:12:07       52 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-11 14:12:07       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-11 14:12:07       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-11 14:12:07       58 阅读
  4. Python语言-面向对象

    2024-07-11 14:12:07       69 阅读

热门阅读

  1. AWS需要实名吗?

    2024-07-11 14:12:07       22 阅读
  2. Redis新手教程

    2024-07-11 14:12:07       21 阅读
  3. 薄冰英语语法学习--代词1

    2024-07-11 14:12:07       19 阅读
  4. 03-图像基础-视音频参数

    2024-07-11 14:12:07       27 阅读
  5. mysql中count的区别

    2024-07-11 14:12:07       21 阅读
  6. springboot对象参数赋值变化

    2024-07-11 14:12:07       18 阅读
  7. 什么是数据挖掘(python)

    2024-07-11 14:12:07       25 阅读
  8. python的类变量和实例变量

    2024-07-11 14:12:07       24 阅读
  9. JDK-CompletableFuture

    2024-07-11 14:12:07       25 阅读
  10. Python 获取 SQL 指纹和 HASH 值

    2024-07-11 14:12:07       26 阅读
  11. 井字棋 AI-Python

    2024-07-11 14:12:07       25 阅读