刷題第一階段,還沒有具體計畫,前期先每日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....