用兩個棧來實現乙個佇列,完成佇列的push和pop操作。 佇列中的元素為int型別。
js裡用陣列可以模擬棧:push pop,也可以模擬佇列push,shift
資料存放在其中乙個棧裡面,push操作直接push,pop操作,先把有資料的棧全部pop出來,並push到另乙個陣列裡面,這樣直接pop,就是佇列的頭。
/*用兩個陣列來模擬兩個棧*/
function queue()
this.stack1.push(node);
}this.pop=function ()
return this.stack2.pop();
}}
push的時候,資料在哪個佇列就push進哪個佇列;
pop的時候,把n-1個shift掉,最後乙個shift掉並且返回就可以。
/*兩個佇列實現乙個棧*/
function stack()else
} this.pop=function ()
return this.q2.shift();
}else
return this.q1.shift();
}}}
劍指offer 05 用兩個棧實現佇列
用兩個棧來實現乙個佇列,完成佇列的push和pop操作。佇列中的元素為int型別。入隊 棧1入棧,相當於元素入隊 出隊 判斷棧2是否為空,如果為空,把棧1的元素壓入棧2 棧2出棧,相當於元素出隊 class solution 解題思路 入隊 棧1入棧,相當於元素入隊 出隊 判斷棧2是否為空,如果為空...
劍指offer 05 用兩個棧實現佇列
題目描述 用兩個棧來實現乙個佇列,完成佇列的push和pop操作。佇列中的元素為int型別。時間限制 c c 1秒,其他語言2秒 空間限制 c c 64m,其他語言128m 解法分析 棧後進先出,佇列先進先出,可用兩個棧spush和spop分別實現push和pop操作,push時node進spush...
劍指offer05 用兩個棧實現佇列
1.佇列 佇列是一種特殊的線性表,特殊之處在於它只允許在表的前端 front 進行刪除操作,而在表的後端 rear 進行插入操作,和棧一樣,佇列是一種操作受限制的線性表。進行插入操作的端稱為隊尾,進行刪除操作的端稱為隊頭。2.棧3.python物件導向程式設計 coding utf 8 class ...