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

2021-10-02 02:48:04 字數 436 閱讀 3149

用兩個棧來實現乙個佇列,完成佇列的push和pop操作。 佇列中的元素為int型別。

入隊:棧1入棧,相當於元素入隊

出隊:判斷棧2是否為空,如果為空,把棧1的元素壓入棧2;棧2出棧,相當於元素出隊

class solution

/*解題思路:

入隊:棧1入棧,相當於元素入隊

出隊:判斷棧2是否為空,如果為空,把棧1的元素壓入棧2;棧2出棧,相當於元素出隊

*/int pop()

}int ans = stack2.top();

stack2.pop();

return ans;

}private:

stackstack1;

stackstack2;

};

劍指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 ...

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

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