day10 | 栈与队列part01

232. 用栈实现队列

两个栈,一个in,一个out。out为空时就把in全部加进来

// 两个栈  一个用来出
class MyQueue {
public:
    stack<int> sta1;
    stack<int> sta2;
    MyQueue() {
    }

    void push(int x) {
        sta1.push(x);
    }

    int pop() {
        // 如果栈2有 : 从栈2删除
        // 如果栈2没有 : 把栈1全部加入栈2
        if (!sta2.size())
        {
            while (sta1.size())
            {
                sta2.push(sta1.top());
                sta1.pop();
            }
        }
        int res = sta2.top();
        sta2.pop();
        return res;
    }

    int peek() {
        if (!sta2.size())
        {
            while (sta1.size())
            {
                sta2.push(sta1.top());
                sta1.pop();
            }
        }
        return sta2.top();
    }

    bool empty() {
        return sta1.empty() && sta2.empty();
    }
};

/**
 * Your MyQueue object will be instantiated and called as such:
 * MyQueue* obj = new MyQueue();
 * obj->push(x);
 * int param_2 = obj->pop();
 * int param_3 = obj->peek();
 * bool param_4 = obj->empty();
 */

225. 用队列实现栈

把队列循环用起来

class MyStack {
public:
    queue<int> que;  // 循环加入
    MyStack() {

    }

    void push(int x) {
        que.push(x);
        int size = que.size() - 1;
        for (int i = 0; i < size; i ++)
        {
            int y = que.front();
            que.push(y);
            que.pop(); 
        }

        // test
        queue<int> que2 = que;
        while (que2.size())
        {
            que2.pop();
        }
    }

    int pop() {
        int res = que.front();
        que.pop();
        return res;
    }

    int top() {
        return que.front();
    }

    bool empty() {
        return que.empty();
    }
};
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇