往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();
}
}


京公网安备 11010502036488号