直接上Java代码:
import java.util.Stack; /** * 两个栈实现队列 * Author:BlueSky */ public class TwoStack4Queue { /** * 写入栈 */ private Stack<Integer> input = new Stack(); /** * 读取栈 */ private Stack<Integer> output = new Stack(); private void add(Integer data){ input.push(data); } private Integer pop(){ // 是空的 需要将 input 出栈写入 out if(output.empty()){ while (!input.empty()){ output.push(input.pop()); } } // 不为空时直接移除出栈就表示移除了头结点 return output.pop(); } public int getSize(){ return input.size() + output.size(); } }