劍指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型別。解析 我的思路是用乙個棧來儲存資料,入隊的話直接在這個棧上入棧,出隊的話借助輔助棧,對輔助棧入棧,然後取出頭元素,然後把輔助棧上的元素在...