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() { //当stack2中的数全被取完后在重新载入stack1中新加入的数, //实现先进(stack2中剩余的数优先于stack1后加入的数)先出 //所以当stack2.size=0,即所有之前进入的数已经取出时再从stack1中载入 if(stack2.size()<=0){ while(stack1.size()!=0){ stack2.push(stack1.pop()); } } return stack2.pop(); } }