题解 | 用两个栈实现队列
这不就是倒水的思路么? import java.util.*; import java.util.Stack; public class Solution { Stack<Integer> stack1 = new Stack<Integer>(); Stack<Integer> stack2 = new Stack<Integer>(); public void push(int node) { stack1.push(node); } public int pop() { int result = 0; while (!stack1.isEmpty()) { stack2.push(stack1.pop()); } if (!stack2.isEmpty()) { result = stack2.pop(); } while (!stack2.isEmpty()) { stack1.push(stack2.pop()); } return result; } }