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