4_4雙棧隊列

編寫一個類,只能用兩個棧結(jié)構(gòu)實現(xiàn)隊列,支持隊列的基本操作(push,pop)。

給定一個操作序列ope及它的長度n,其中元素為正數(shù)代表push操作,為0代表pop操作,保證操作序列合法且一定含pop操作,請返回pop的結(jié)果序列。

測試樣例:
輸入:[1,2,3,0,4,0],6
返回:[1,2]

class TwoStack {
public:
    stack<int> push_stack, pop_stack;
    void pour_into(stack<int> &A, stack<int> &B)
    {
        while(!A.empty()){
            B.push(A.top());
            A.pop();
        }
    }
    vector<int> twoStack(vector<int> ope, int n) {
        vector<int> result;
        for(int i=0; i<n; i++){
            if(0 == ope[i]){
                pour_into(push_stack, pop_stack);
                result.push_back(pop_stack.top());
                pop_stack.pop();
            }else{
                pour_into(pop_stack, push_stack);
                push_stack.push(ope[i]);
            }
        }
        return result;
    }
};
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 3.1?若按教科書3.1.1節(jié)中圖3.1(b)所示鐵道進行車廂調(diào)度(注意:兩側(cè)鐵道均為單向行駛道),則請回答: (...
    云時之間閱讀 2,355評論 0 3
  • 第5章 引用類型(返回首頁) 本章內(nèi)容 使用對象 創(chuàng)建并操作數(shù)組 理解基本的JavaScript類型 使用基本類型...
    大學(xué)一百閱讀 3,691評論 0 4
  • 棧 棧的英文單詞是Stack,它代表一種特殊的線性表,這種線性表只能在固定一端(通常認(rèn)為是線性表的尾端)進行插入,...
    Jack921閱讀 1,631評論 0 5
  • 一、棧 1.1 棧的實現(xiàn) 棧(Stack)是限制僅在表的一端進行插入和刪除運算的線性表。java沒有棧這樣的數(shù)據(jù)結(jié)...
    yjaal閱讀 1,537評論 0 1
  • 時間零碎在迷惘而我依舊在仿徨 空虛似虛無既不安也無奈 如果這是病恐以絕癥 失落恐懼仿似扭曲了我的生活 驅(qū)不走散不開...
    森尼_d074閱讀 212評論 0 0

友情鏈接更多精彩內(nèi)容