劍指offer 05 用兩個棧實現佇列

2022-07-08 09:27:10 字數 499 閱讀 8915

題目描述

用兩個棧來實現乙個佇列,完成佇列的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=;

2function

push(node)37

function

pop()

815 }

執行結果

劍指offer 05 用兩個棧實現佇列

用兩個棧來實現乙個佇列,完成佇列的push和pop操作。佇列中的元素為int型別。入隊 棧1入棧,相當於元素入隊 出隊 判斷棧2是否為空,如果為空,把棧1的元素壓入棧2 棧2出棧,相當於元素出隊 class solution 解題思路 入隊 棧1入棧,相當於元素入隊 出隊 判斷棧2是否為空,如果為空...

劍指offer05 用兩個棧實現佇列

1.佇列 佇列是一種特殊的線性表,特殊之處在於它只允許在表的前端 front 進行刪除操作,而在表的後端 rear 進行插入操作,和棧一樣,佇列是一種操作受限制的線性表。進行插入操作的端稱為隊尾,進行刪除操作的端稱為隊頭。2.棧3.python物件導向程式設計 coding utf 8 class ...

劍指offer 05兩個棧構建佇列,兩個佇列構建棧

用兩個棧來實現乙個佇列,完成佇列的push和pop操作。佇列中的元素為int型別。js裡用陣列可以模擬棧 push pop,也可以模擬佇列push,shift 資料存放在其中乙個棧裡面,push操作直接push,pop操作,先把有資料的棧全部pop出來,並push到另乙個陣列裡面,這樣直接pop,就...