牛客网连接:https://www.nowcoder.com/practice/54275ddae22f475981afa2244dd448c6
思路说明:设置两个栈,in栈负责push数据,out栈负责pop数据,当想要push实收直接in.push,当想要出队列的时候,in栈先出,在进入out栈,这时候第一个push栈的数据就在out栈顶,也就达到了先进先出队列的思想。
import java.util.Stack; public class Solution { Stack<Integer> in = new Stack<Integer>(); Stack<Integer> out = new Stack<Integer>(); public void push(int node) { in.push(node); } public int pop() { if (out.isEmpty()){ while (!in.isEmpty()){ out.push(in.pop()); } } if(out.isEmpty()){ return 0; } return out.pop(); } }