JZ09 用兩個棧實現佇列

2021-10-09 09:00:10 字數 840 閱讀 4807

刷題第一階段,還沒有具體計畫,前期先每日1-2題叭,十月底刷完劍指offer(發出不信任的質疑ε=(´ο`*)))

示例 1:

輸入:

[,[3],,]

輸出:[null,null,3,-1]

示例 2:

輸入:

[,,[5],[2],,]

輸出:[null,-1,null,null,5,2]

總結刪除隊首元素的步驟/情況:

class

cqueue

:def

__init__

(self)

: self.a, self.b =

,[]def

(self, value:

int)

->

none

:def

deletehead

(self)

->

int:

if self.b :

return self.b.pop()if

not self.a :

return-1

while

(self.a):)

)return self.b.pop(

)# your cqueue object will be instantiated and called as such:

# obj = cqueue()

# param_2 = obj.deletehead()

JZ 09 用兩個棧實現佇列(棧 設計)

乙個棧支援插入操作,乙個棧支援刪除操作。每次向第乙個棧插入元素後,棧頂是最後插入的元素,棧底是下乙個要刪除的元素。在執行刪除操作時,先判斷第二個棧是否為空,若為空,將第乙個棧中的元素依次彈出插入到第二個棧,要刪除時直接彈出第二個棧的元素即可。class cqueue 佇列尾部插入操作 public ...

09 用兩個棧實現佇列

用兩個棧來實現乙個佇列,完成佇列的 push 和 pop 操作。in 棧用來處理入棧 push 操作,out 棧用來處理出棧 pop 操作。乙個元素進入 in 棧之後,出棧的順序被反轉。當元素要出棧時,需要先進入 out 棧,此時元素出棧順序再一次被反轉,因此出棧順序就和最開始入棧順序是相同的,先進...

09 用兩個棧實現佇列

2020 06 22 1.題目描述 在佇列尾部插入整數和在佇列頭部刪除整數的功能。若佇列中沒有元素,deletehead 操作返回 1 2.題解 乙個棧用來輸入,乙個棧用來輸出 入棧 直接入棧1即可 出棧 如果棧2為空,則將棧1所有元素放入棧2,並輸出棧2棧頂元素,如果棧2不為空,直接出棧2即可3....