剑指 Offer 09. 用两个栈实现队列

题目

剑指 Offer 09. 用两个栈实现队列

代码

class CQueue {
public:
    stack<int> stk, cache;
    CQueue() {

    }

    void copy(stack<int> &a, stack<int> &b) {
        while(a.size()) {
            b.push(a.top());
            a.pop();
        }
    }

    void appendTail(int value) {
        stk.push(value);
    }
    
    int deleteHead() {
        //关键
        if(stk.empty())
            return -1;
        copy(stk, cache);
        int res = cache.top();
        cache.pop();
        copy(cache, stk);
        return res;
    }
};
posted @ 2022-04-18 09:57  当惜  阅读(21)  评论(0)    收藏  举报