劍指offer05 用兩個棧實現佇列

2022-09-15 14:33:20 字數 512 閱讀 5571

1.佇列

佇列是一種特殊的線性表,特殊之處在於它只允許在表的前端(front)進行刪除操作,而在表的後端(rear)進行插入操作,和棧一樣,佇列是一種操作受限制的線性表。進行插入操作的端稱為隊尾,進行刪除操作的端稱為隊頭。

2.棧3.python物件導向程式設計

#

-*- coding:utf-8 -*-

class

solution:

def__init__

(self):

self.stack1=list()

self.stack2=list()

defpush(self, node):

#write code here

defpop(self):

#return xx

ifnot

self.stack2:

for i in

range(len(self.stack1)):

return self.stack2.pop(-1)

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

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

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

題目描述 用兩個棧來實現乙個佇列,完成佇列的push和pop操作。佇列中的元素為int型別。時間限制 c c 1秒,其他語言2秒 空間限制 c c 64m,其他語言128m 解法分析 棧後進先出,佇列先進先出,可用兩個棧spush和spop分別實現push和pop操作,push時node進spush...

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

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