牛客網刷題 用兩個棧實現佇列

2021-10-19 17:38:10 字數 457 閱讀 4702

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

棧:先進後出

佇列:先進先出

push:1,2,3

pop:3,2,1

因為棧跟佇列出入的順序是相反的,所以我們可以借助兩個棧解決問題,stack1負責儲存push的資料,stack2負責在pop操作的時候,將statk1的輸入依次壓入stack2,這樣出棧的順序就變成了出佇列的順序。

// 思路1

public

class

solution

public

intpop()

}return stack2.

pop();

}}

小夥伴如果想測試的話,可以直接到牛客網這個鏈結做測試

用兩個棧實現佇列-牛客網

牛客刷題 用兩個棧實現佇列

題目 用兩個棧來實現乙個佇列,完成佇列的push和pop操作。佇列中的元素為int型別。佇列是先入先出,堆疊是先入後出,通過兩個堆疊的push和pop操作可以實現堆疊的元素反轉,從而達到先入先出的效果。假設stack1是正常的棧,statck2是逆序的棧 和佇列順序一致 對於push操作,要保證新p...

用兩個棧實現佇列 用兩個佇列實現棧

劍指offer 面試題7 用兩個棧實現佇列。templateclass cqueue 我們試著用兩個棧來模擬佇列的操作,發現如下可行操作 完整 實現 面試題7 用兩個棧實現佇列 分別完成在隊尾插入結點和在隊頭刪除結點的功能。date 2014 06 27 include include includ...

牛客《劍指Offer》 用兩個棧實現佇列

用兩個棧來實現乙個佇列,完成佇列的push和pop操作。佇列中的元素為int型別。棧的資料是後進先出的,所以利用兩個棧的配合可以實現佇列先進先出的效果。所有存入的資料,均壓入棧stack1。要取出資料時,開始stack2為空,將所有stack1中的資料取出,以此壓入stack2 中,這些資料再從st...