使用两个队列,往其中一个队列进队,假设进入N个数,那么如果要出栈,则将N-1个数复制到另一个队列,剩下的那个就是出栈的数
使用栈实现队列,将数据放入一个栈,若要实现队列的先进先出,则将所有的数据放入另一个栈,依次出栈即可
约束条件:
- 若要放入的另一个栈中有元素,则不能倒数据进入
- 每次倒数据,要把数据倒完
public void dao(){
if(!stackPop.isEmpty()){//要倒入的栈中有数据,不能倒
return;
}
if(!stackPush.isEmpty()){
stackPop.push(stackPush.pop());//每次倒数据要倒完
}
}