题解 | #用两个栈实现队列#
用两个栈实现队列
http://www.nowcoder.com/practice/54275ddae22f475981afa2244dd448c6
新的元素一直往栈1中存放,栈2用于存放已经排好队的准备弹出的元素
当栈2排空之后,再次要求弹出元素时,一次性把栈1中的所有元素取出存入栈2之中
Stack<Integer> stack1 = new Stack<Integer>(); Stack<Integer> stack2 = new Stack<Integer>(); public void push(int node) { stack1.push(node); } public int pop() { if (!stack2.empty()) { return stack2.pop(); } while (!stack1.empty()) { stack2.push(stack1.pop()); } return stack2.pop(); }