一只不断成长的藏獒

没什么可以一蹴而就,总会有低迷的时候,但请坚持,相信,只要坚持下去,你总会有变得强大的时候,所以努力吧!...

Implement Queue using Stacks

解决问题的思路:用两个栈,其中一个栈只是用来作缓存,每次操作结束都为空栈。

代码如下:

class Queue {
private:
    stack<int> stack1;
    stack<int> buf;
public:
    // Push element x to the back of queue.
    void push(int x) {
        for(; !stack1.empty(); ) {
            buf.push(stack1.top());
            stack1.pop();
        }
        stack1.push(x);
        for(; !buf.empty(); ) {
            stack1.push(buf.top());
            buf.pop();
        }

    }

    // Removes the element from in front of queue.
    void pop(void) {
        stack1.pop();
    }

    // Get the front element.
    int peek(void) {
        return stack1.top();
    }

    // Return whether the queue is empty.
    bool empty(void) {
        return stack1.empty();
    }
};
阅读更多
个人分类: LeetCode
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

Implement Queue using Stacks

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭