链接:https://leetcode-cn.com/problems/implement-stack-using-queues/
class MyStack {
private LinkedList<Integer> queue1;
private LinkedList<Integer> queue2;
public MyStack() {
queue1=new LinkedList<Integer>();
queue2=new LinkedList<Integer>();
}
public void push(int x) {
if(queue1.isEmpty()&&queue2.isEmpty()){
queue1.addLast(x);
}else if(queue1.isEmpty()){
queue2.addLast(x);
}else{
queue1.addLast(x);
}
}
public int pop() {
if(queue1.isEmpty()){
int len=queue2.size();
for(int i=0;i<len-1;i++){
queue1.addLast(queue2.removeFirst());
}
return queue2.removeFirst();
}else{
int len=queue1.size();
for(int i=0;i<len-1;i++){
queue2.addLast(queue1.removeFirst());
}
return queue1.removeFirst();
}
}
public int top() {
if(queue1.isEmpty()){
return queue2.getLast();
}else{
return queue1.getLast();
}
}
public boolean empty() {
return queue1.isEmpty()&&queue2.isEmpty();
}
}