【leetcode】用栈实现队列

题目链接:232. 用栈实现队列 - 力扣(LeetCode)

栈虽是先进后出,用一个栈可以将序列倒序,那么再用一个栈就可以正序了

先用一个栈存储进来的,要输出的时候再用一个栈装一下

复制代码
class MyQueue {
public:
    stack<int> in;
    stack<int> out;

    void inToOut() {
        while (!in.empty()) {
            out.push(in.top());
            in.pop();
        }
    }

    MyQueue() {

    }

    void push(int x) {
        in.push(x);
    }

    int pop() {
        int top = peek();
        out.pop();
        return top;
    }

    int peek() {
        if (out.empty())
            inToOut();
        return out.top();
    }

    bool empty() {
        return in.empty() && out.empty();
    }
};
相关推荐
dyyx11111 分钟前
C++中的过滤器模式
开发语言·c++·算法
lrh12280033 分钟前
详解决策树算法:分类任务核心原理、形成流程与剪枝优化
算法·决策树·机器学习
期末考复习中,蓝桥杯都没时间学了37 分钟前
力扣刷题15
算法·leetcode·职场和发展
2301_8174973343 分钟前
C++中的装饰器模式高级应用
开发语言·c++·算法
m0_549416661 小时前
C++编译期字符串处理
开发语言·c++·算法
m0_581124191 小时前
C++中的适配器模式实战
开发语言·c++·算法
A尘埃1 小时前
零售连锁店生鲜品类销量预测——线性回归(Linear Regression)
算法·线性回归·零售
u0109272711 小时前
C++与人工智能框架
开发语言·c++·算法
Fleshy数模1 小时前
从欠拟合到正则化:用逻辑回归破解信用卡失信检测的召回率困境
算法·机器学习·逻辑回归
im_AMBER1 小时前
Leetcode 111 两数相加
javascript·笔记·学习·算法·leetcode