用兩個棧來實現乙個佇列,完成佇列的push和pop操作,佇列中的元素為int型別
棧是先進後出,後進先出;
佇列是先進先出;即如何利用兩個棧實現先進先出的效果,可用乙個棧來接收資料,接收完資料導到第二個棧去輸出即可。
python
class
solution
:def
__init__
(self)
:# 定義兩個棧,乙個用於接收資料,乙個用於輸出資料;兩個棧實現佇列的push和pop的功能
self.acceptstack=
self.outputstack=
defpush
(self,node)
:#利用acceptstack接收資料
defpop
(self)
:while self.acceptstack:))
#彈乙個接乙個
if self.outputstack !=
:return self.outputstack.pop(
)else
:#如果是空的話,說明acceptstack也是空,故return none
return
none
劍指offer 用兩個棧實現佇列
華電北風吹 天津大學認知計算與應用重點實驗室 日期 2015 9 30 題目描述 用兩個棧來實現乙個佇列,完成佇列的push和pop操作。佇列中的元素為int型別。解析 我的思路是用乙個棧來儲存資料,入隊的話直接在這個棧上入棧,出隊的話借助輔助棧,對輔助棧入棧,然後取出頭元素,然後把輔助棧上的元素在...
用兩個棧實現佇列《劍指offer
題目描述 用兩個棧來實現乙個佇列,完成佇列的push和pop操作。佇列中的元素為int型別。解題思路 將元素入隊時壓入乙個棧中,隨後通過另乙個棧出隊 1 使用stack容器定義兩個棧 stack stack1 stack stack2 2 入隊 stack1.push node node為入隊元素 ...
劍指offer 用兩個棧實現佇列
記錄 劍指offer 上的演算法題。題目描述如下 佇列的宣告如下 template class cqueue cqueue t deletehead bool empty private stack stack1 stack stack2 實現的 如下 templatet stack1.push n...