剑指offer刷题

用两个栈实现一个队列

2019-06-01  本文已影响0人  侯俊同学

题目描述

用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。

题解

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

    int pop() {
        //如果弹出栈为空,那么先将插入栈地所有元素搬到弹出栈
       if(stack2.empty()){
           while(!stack1.empty()){
               stack2.push(stack1.top());
               stack1.pop();
           }
        }
        //弹出
        int ret = stack2.top();
        stack2.pop();
        return ret;
    }

private:
    stack<int> stack1; //输入栈
    stack<int> stack2; //弹出栈
};
上一篇 下一篇

猜你喜欢

热点阅读