用队列来实现栈
import java.util.LinkedList;
import java.util.Queue;
class MyStack {
Queue<Integer> mainq = new LinkedList<>();
Queue<Integer> backUpq = new LinkedList<>();
public MyStack() {
}
public void push(int x) {
mainq.add(x);
}
public int pop() {
dumpTillOne();
int x = mainq.poll();
dumpback();
return x;
}
public int top() {
dumpTillOne();
int y = mainq.peek();
backUpq.add(mainq.poll());
dumpback();
return y;
}
public boolean empty() {
return mainq.isEmpty();
}
public void dumpTillOne(){
while(mainq.size() != 1){
backUpq.add(mainq.poll());
}
}
public void dumpback(){
while(!backUpq.isEmpty()){
mainq.add(backUpq.poll());
}
}
}