思路分析
用栈来实现队列就是化先进后出为先进先出问题
栈可以看做是一个杯子,用两个杯子互相倒着倒水就可以实现先进第一个杯子的水在第二个杯子中被最先倒出来。
其中可以分两种情况
1.第二个杯子没有水,第一个杯子有水,把水倒进了第二个杯子,很简单,全部倒出即可
2.第二个杯子已经有水了,必须把第二个杯子的水全部倒完,才能接受第一个杯子里的水
代码如下
var stack1 = [];
var stack2 = [];
function push(node){
stack1.push(node);
}
function pop(){
if(stack2.length === 0){
while(stack1.length != 0){
stack2.push(stack1.pop());
}
}
return stack2.pop();
}