欧美1区2区3区激情无套,两个女人互添下身视频在线观看,久久av无码精品人妻系列,久久精品噜噜噜成人,末发育娇小性色xxxx

題解 | #用兩個棧實現(xiàn)隊列#

用兩個棧實現(xiàn)隊列

http://www.fangfengwang8.cn/practice/54275ddae22f475981afa2244dd448c6

用兩個棧模擬隊列
題解:模擬
原理:兩次棧入棧相當于兩次逆序可以恢復至原數(shù)組次序;
思路:
1.push操作將值放入棧A 。
2.pop操作前,先將棧A中除了棧底值的值push到棧B。
3.之后的pop操作直接在棧B上操作,直到棧B為空。在重復2操作。
圖示:
圖片說明

復雜度分析:
時間復雜度:,push操作為O(1),pop操作為O(1)
空間復雜度:,需要2個stack來存一個序列,一共占用O(n)

實現(xiàn)如下:

class Solution
{
public:
    void push(int node) {
        stack1.push(node);//入棧
    }


    int pop() {
        int ans;
        if(!stack2.empty()) {ans = stack2.top(); stack2.pop();}//當棧B有值時,返回棧B的頂部
        else {//當棧B為空,先將棧A拷貝至棧B,只留一個值
            while(!(stack1.size()==1)){stack2.push(stack1.top()); stack1.pop();}
            ans = stack1.top(); stack1.pop(); //將棧A唯一的一個值返回;
    }
    return ans;
    }

private:
    stack<int> stack1;//棧A
    stack<int> stack2;//棧B

};

??途W(wǎng)編程題題解 文章被收錄于專欄

本專欄記錄在??途W(wǎng)上AC的每一題,寫下題解。 未來2年完成2000編程題的題解。 2021.12.29更新,最進準備畢設,斷更了,會盡快做完畢設,繼續(xù)做這一件事情

全部評論

相關推薦

點贊 評論 收藏
分享
評論
1
收藏
分享

創(chuàng)作者周榜

更多
??途W(wǎng)
??推髽I(yè)服務