用兩個棧來實現乙個佇列,完成佇列的push和pop操作。 佇列中的元素為int型別。思路:
當stack2中不為空時,在stack2中的棧頂元素是最先進入佇列的元素,可以彈出。若stack2為空時,把stack1中的元素逐個彈出並壓入stack2。由於先進入佇列的元素被壓倒stack1的棧底,經過彈出和壓入之後就處於stack2的棧頂,有可以直接彈出。如果有新元素d插入,我們直接把它壓入stack1即可。
c++
class
solution
intpop()
}int q = stack2.
top();
stack2.
pop();
return q;
}private
: stack<
int> stack1;
stack<
int> stack2;
};
劍指offer 用兩個棧實現乙個佇列
用兩個先進後出的結構來實現乙個先進先出的結構 相當於負負得正的意思。資料先進入棧1,後進的先出,對於棧2來講就是先進的,要後出,所以兩個棧加起來就實現了後進後出,先進先出。class solution intpop int y stack2.top stack2.pop return y priva...
劍指offer 用兩個棧實現佇列
華電北風吹 天津大學認知計算與應用重點實驗室 日期 2015 9 30 題目描述 用兩個棧來實現乙個佇列,完成佇列的push和pop操作。佇列中的元素為int型別。解析 我的思路是用乙個棧來儲存資料,入隊的話直接在這個棧上入棧,出隊的話借助輔助棧,對輔助棧入棧,然後取出頭元素,然後把輔助棧上的元素在...
用兩個棧實現佇列《劍指offer
題目描述 用兩個棧來實現乙個佇列,完成佇列的push和pop操作。佇列中的元素為int型別。解題思路 將元素入隊時壓入乙個棧中,隨後通過另乙個棧出隊 1 使用stack容器定義兩個棧 stack stack1 stack stack2 2 入隊 stack1.push node node為入隊元素 ...