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

2021-10-01 17:29:21 字數 416 閱讀 8569

劍指offer  6.用兩個棧實現佇列

題目:思路:

push的時候很容易

pop的時候需要保證能夠先進先出,因為stack本身是先進後出的,所以需要兩個stack導一下

複雜度pop一次需要o(n)

啟發或者坑

大概是溫習了stack的functions吧!

**

class solution

int pop()

int res = stack2.top();

stack2.pop();

while(!stack2.empty())

return res;

}private:

stackstack1;

stackstack2;

};

劍指Offer 6 用兩個棧來實現乙個佇列。

題目描述 用兩個棧來實現乙個佇列,完成佇列的push和pop操作。佇列中的元素為int型別。棧 stack 先進後出 不允許遍歷 佇列 queue 先進先出 不允許遍歷 劍指offer思路 建立兩個棧stack1和stack2,使用兩個 先進後出 的棧實現乙個 先進先出 的佇列。我們通過乙個具體的例...

劍指offer 6,用棧來實現佇列(反之)

題目描述 用兩個棧來實現乙個佇列。有兩個棧,棧的特點是,元素先進後出,佇列的特點是,先進先出。所以進棧的那個不能用來出,得換乙個棧,得出,兩次先進後出後,就會得到進來時後得順序了。所以,當push 時 加入用棧1來進入資料 當pop 彈出資料時候,分情況了 如果此時棧2為空,就將所有的棧1中的元素壓...

劍指offer 用兩個棧實現佇列

華電北風吹 天津大學認知計算與應用重點實驗室 日期 2015 9 30 題目描述 用兩個棧來實現乙個佇列,完成佇列的push和pop操作。佇列中的元素為int型別。解析 我的思路是用乙個棧來儲存資料,入隊的話直接在這個棧上入棧,出隊的話借助輔助棧,對輔助棧入棧,然後取出頭元素,然後把輔助棧上的元素在...