用兩個(gè)棧來(lái)實(shí)現(xiàn)一個(gè)隊(duì)列障簿,完成隊(duì)列的Push和Pop操作。 隊(duì)列中的元素為int類型栅迄。
看到好多人的測(cè)試用例也通過(guò)了站故,但是不是用的兩個(gè)棧實(shí)現(xiàn)一個(gè)隊(duì)列的,棧的操作只有push和pop毅舆。比如下面這個(gè)直接用了一個(gè)隊(duì)列來(lái)實(shí)現(xiàn)
<?php
$a=array();
function mypush($node)
{
// write code here
global $a;
return array_push($a,$node);
}
function mypop()
{
// write code here
global $a;
return array_shift($a);
}
這是兩個(gè)棧模擬的西篓,取數(shù)據(jù)前先把棧1的pop到2,取完棧2頂部的數(shù)據(jù)憋活,然后在將數(shù)據(jù)push到1里面去岂津。
<?php
$stack1 = array();
$stack2 = array();
function mypush($node)
{
// write code here
GLOBAL $stack1;
array_push($stack1,$node);
}
function mypop()
{
// write code here
GLOBAL $stack1,$stack2;
while(count($stack1)>0){
array_push($stack2,array_pop($stack1));
}
$top = array_pop($stack2);
while(count($stack2)>0){
array_push($stack1,array_pop($stack2));
}
return $top;
}