用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
队列嘛,先进先出,栈嘛,先进后出。 于是乎,把第一个栈扔满,然后再一一放到另一个栈中,然后再一一取出来。 没了- -
public class reconstructionQueue { Stack<Integer> stack1 = new Stack<Integer>(); Stack<Integer> stack2 = new Stack<Integer>(); public void push(int node){ stack1.push(new Integer(node)); } public int pop(){ if(stack2.isEmpty()){ while(!stack1.isEmpty()){ stack2.push(stack1.pop()); } } return stack2.pop().intValue(); } }