【剑指offer】05 用两个栈实现队列
题目地址:用两个栈实现队列
题目描述
用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M
解法分析
栈后进先出,队列先进先出,可用两个栈sPush和sPop分别实现push和pop操作,push时node进sPush,pop时sPush栈底出栈同时进sPop。
代码
1 var sPush=[],sPop=[]; 2 function push(node) 3 { 4 // write code here 5 sPush.push(node); 6 } 7 function pop() 8 { 9 // write code here 10 if(sPush.length!=0){ 11 sPop.push(sPush[0]); 12 sPush.splice(0,1); 13 return sPop.pop(); 14 } 15 }
执行结果