leetcode232:栈实现队列

栈实现队列

请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(pushpoppeekempty):

实现 MyQueue 类:

  • void push(int x) 将元素 x 推到队列的末尾
  • int pop() 从队列的开头移除并返回元素
  • int peek() 返回队列开头的元素
  • boolean empty() 如果队列为空,返回 true ;否则,返回 false
java 复制代码
class MyQueue {
        Stack<Integer> stack = new Stack<>();

        Stack<Integer> tmp = new Stack<>();

        public MyQueue() {

        }

        public void push(int x) {
            stack.push(x);
        }

        public int pop() {
            tmp.empty();
            while(!stack.empty()){
                tmp.push(stack.peek());
                stack.pop();
            }
            Integer res = tmp.pop();
            while(!tmp.empty()){
                stack.push(tmp.peek());
                tmp.pop();
            }
            return res;
        }

        public int peek() {
            tmp.empty();
            while(!stack.empty()){
                tmp.push(stack.peek());
                stack.pop();
            }
            Integer res = tmp.peek();
            while(!tmp.empty()){
                stack.push(tmp.peek());
                tmp.pop();
            }
            return res;
        }

        public boolean empty() {
            return stack.empty();
        }
    }

用另一个栈实现

相关推荐
YaraMemo21 分钟前
一文带你区分全局最优解和帕累托最优解
算法·5g·信息与通信·信号处理
白夜111731 分钟前
C++(标签派发 Tag Dispatching)
开发语言·c++·笔记·算法
YaraMemo1 小时前
数学优化问题中的三大转化:多目标转化为单目标,多变量转化为单变量,有约束转化为无约束
人工智能·算法·5g·信息与通信·信号处理
Ailan_Anjuxi1 小时前
【附Python源码】使用minGPT训练自己的小型GPT语言模型
算法
QuZero1 小时前
StampedLock Mechanism
java·算法
云泽8081 小时前
二叉树高阶笔试算法题精讲(二):非递归遍历与序列构造全解析
c++·算法·面试
小O的算法实验室2 小时前
2026年ESWA,基于固定机巢的无人机输电杆塔、变电站与配电杆混合巡检任务分配与路径规划,深度解析+性能实测
算法·论文复现·智能算法·智能算法改进
sali-tec4 小时前
C# 基于OpenCv的视觉工作流-章60-点点距离
图像处理·人工智能·opencv·算法·计算机视觉
nlpming5 小时前
OpenCode Skills 文档
算法
无限进步_5 小时前
二叉搜索树完全解析:从概念到实现与应用场景
c语言·开发语言·数据结构·c++·算法·github·visual studio