题目描述:用两个栈实现一个队列
用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
题目解析
//用两个栈来实现一个队列
let inStack = [];
let outStack = [];
function push(node){
//判断辅助栈outStck中还有没有元素
while(outStack.length !== 0){
inStack.push(outStack.pop());
}
//将新的元素推入栈中
inStack.push(node);
}
// push(0);
// push(1);
// push(2);
// push(3); inStack -> [0,1,2,3]
// pop() [3,2,1,0] - > 0,1,2,3
function pop(){
//将栈中元素倒序push进辅助栈中
while(inStack.length != 0){
outStack.push(inStack.pop());
}
//返回栈顶元素
return outStack.pop();
}