题目:232. 用栈实现队列
题目链接:https://leetcode.cn/problems/implement-queue-using-stacks/description/
思路:定义两个栈,一个作为出栈,一个作为入栈。
代码:
点击查看代码
class MyQueue {Deque<Integer> inStack;Deque<Integer> outStack;public MyQueue() {inStack=new ArrayDeque<Integer>();outStack=new ArrayDeque<Integer>();}public void push(int x) {inStack.push(x);}public int pop() {if(outStack.isEmpty()){in2out();}return outStack.pop();}public int peek() {if (outStack.isEmpty()) {in2out();}return outStack.peek();}public boolean empty() {return inStack.isEmpty() && outStack.isEmpty();}private void in2out() {while (!inStack.isEmpty()) {outStack.push(inStack.pop());}}}