【剑指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 }

 

执行结果                                   

 

posted @ 2020-12-23 15:25  月南君  阅读(57)  评论(0编辑  收藏  举报