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

2021-10-21 01:44:50 字數 653 閱讀 9754

乙個棧支援插入操作,乙個棧支援刪除操作。

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

class

cqueue

//佇列尾部插入操作

public

void

(int value)

//佇列頭部刪除操作

public

intdeletehead()

}//若第二個棧仍為空(即隊列為空)

if(stack2.

isempty()

)else}}

/** * your cqueue object will be instantiated and called as such:

* cqueue obj = new cqueue();

* int param_2 = obj.deletehead();

*/

notes:

關於這裡用linkedlist而不是stack實現棧

JZ09 用兩個棧實現佇列

刷題第一階段,還沒有具體計畫,前期先每日1 2題叭,十月底刷完劍指offer 發出不信任的質疑 示例 1 輸入 3 輸出 null,null,3,1 示例 2 輸入 5 2 輸出 null,1,null,null,5,2 總結刪除隊首元素的步驟 情況 class cqueue def init se...

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....