LeetCode0232-两个栈实现一个队列
两个栈实现一个队列
package codepackage; import java.util.Deque; import java.util.LinkedList; import java.util.Stack; public class Num232_stackAsQueue { Deque<Integer> in; Deque<Integer> out; //注意这里,构造函数要每次都新建一个栈对象,相当于初始化对象 public Num232_stackAsQueue(){ in = new LinkedList<Integer>(); out = new LinkedList<Integer>(); } public void push(int x){ in.push(x); } public int pop(){ if(out.isEmpty()){ while(!in.isEmpty()){ out.push(in.pop()); } } return out.pop(); } public int peek(){ if(out.isEmpty()){ out.push(in.pop()); } return out.peek(); } public boolean empty(){ return in.isEmpty()&&out.isEmpty(); } }