用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
思路:
由于队列是先进先出的,而栈是先进后出的,所以要用2个栈来实现队列的入队出队功能。
队列的入队功能与栈的一样。
出队时,先将栈1中的元素全部弹出,并放入栈2中,将栈2的栈顶元素弹出,然后将栈中剩下的元素倒回到栈1中,即实现一次出队操作。
JavaScript代码
var stack1=[],stack2=[];
function push(node)
{
stack1.push(node);
}
function pop()
{
if(stack2.length==0){
if(stack1.length==0){
return null;
}else{
var len = stack1.length;
for(var i=0;i<len;i++){
stack2.push(stack1.pop());
}
return stack2.pop();
}
}else{
return stack2.pop();
}
}