往stack1中放新增数据,需要取数据时全部push到stack2中,数据在stack2中就是先进先出。
若stack1有新增数据,等stack2中数据弹完后,再将stack1中新增的数据全部压入,保持出队的顺序。
public void push(int node) { stack1.push(node); } public int pop() { //stack2有数据,先弹Stack2 if(stack2.size() != 0){ return stack2.pop(); } //stack2弹完了,把stack1中所有数据push进来,继续弹 else{ while (stack1.size() != 0){ stack2.push(stack1.pop()); } return stack2.pop(); } }