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();
        }
    }

用另一个栈实现

相关推荐
Niuguangshuo37 分钟前
EM算法详解:解密“鸡生蛋“的机器学习困局
算法·机器学习·概率论
a31582380642 分钟前
Android 大图显示策略优化显示(一)
android·算法·图片加载·大图片
一条大祥脚1 小时前
26.1.9 轮廓线dp 状压最短路 构造
数据结构·c++·算法
鲨莎分不晴1 小时前
反向传播的数学本质:链式法则与动态规划的完美共舞
算法·动态规划
sonadorje1 小时前
逻辑回归中的条件概率
算法·机器学习·逻辑回归
cici158741 小时前
基于Pan-Tompkins算法的ECG信号HRV提取方案
算法
McGrady-1752 小时前
拓扑导航 vs 几何导航的具体实现位置
算法
副露のmagic2 小时前
更弱智的算法学习 day24
python·学习·算法
颜酱2 小时前
前端必备动态规划的10道经典题目
前端·后端·算法
wen__xvn2 小时前
代码随想录算法训练营DAY10第五章 栈与队列part01
java·前端·算法