题目描述:
用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
思路: 先给子弹编号,放到你的弹夹里,把你弹夹里面的子弹换到另一个人的弹夹里,当另一个人的弹夹里有子弹的时候,就直接取出来,那么就是满足题意的,如果另一个人的弹夹没有子弹了,就从你的弹夹里取出来,再放进去就可以了;
Copy版:
Stack<Integer> stack1=new Stack<>();
Stack<Integer> stack2=new Stack<>();
public void push(int node) {
stack1.push(node);
}
public int pop() {
if(stack2.isEmpty()){
while(!stack1.isEmpty())
stack2.push(stack1.pop());
}
return stack2.pop();
}