題目:用兩個棧來實現乙個佇列,完成佇列的push和pop操作。 佇列中的元素為int型別。
佇列:是一種特殊的線性表 先進先出
棧stack:堆疊 後進先出
push :在頂部插入乙個元素
pop:在頂部刪除乙個元素
堆heap 是在程式執行時申請記憶體,動態分配記憶體
參考文章:
用兩個棧來實現佇列
push:直接push進stack1
pop:先將stack1中的元素全部轉入stack2中 從stack2棧頂彈出
注意這時可以要繼續push進新的數字
觀察stack2棧頂是否存在數字,即棧是否為空;不為空則先彈出stack2中的數字,空之後再將stack1中所有數字全部轉入stack2中
5,用兩個棧實現佇列《劍指offer》
題目 用兩個棧來實現乙個佇列,完成佇列的push和pop操作。佇列中的元素為int型別。思路 棧的特性 先進後出 佇列的特 先進先出 將棧1的內容全都彈出,然後推入棧2,彈出棧2 達到先進先出的功能 所以分為push棧 和 pop 棧 class solution int pop result st...
劍指offer 5 用兩個棧實現佇列
題目描述 用兩個棧來實現乙個佇列,完成佇列的push和pop操作。佇列中的元素為int型別。思路 棧 先進後出,佇列 先進先出 1 2 3 棧 3 2 1 1 2 3 佇列 1 2 3 stack1進棧後為1 2 3 出棧並儲存在stack2中為3 2 1,stack2出棧就和佇列一致了。push,...
劍指offer 5 用兩個棧實現佇列
題目描述 用兩個棧來實現乙個佇列,完成佇列的push和pop操作。佇列中的元素為int型別。解題思路 需要用棧來模擬佇列的push和pop操作。要知道,棧是先進後出,而佇列是先進先出,所以用棧實現佇列的時候,需要兩個棧,進棧可以直接進棧就ok,但是需要首先將兩個棧合為乙個棧,但是出棧的話,需要將原先...