剑指offer--5.用两个栈实现队列

来源:互联网 发布:i淘宝网首页 编辑:程序博客网 时间:2024/05/19 00:09

题目描述

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

这里写图片描述

class Solution{public:    void push(int node) {        stack1.push(node);    }    int pop() {        //如果stack2为空,则从stack1中弹出所有元素并压栈到stack1        if(stack2.empty())            {            while(!stack1.empty())                {                stack2.push(stack1.top());                stack1.pop();            }                    }        //stack2非空,从stack2中弹出即可        int res=stack2.top();        stack2.pop();        return res;    }private:    stack<int> stack1;//添加元素栈    stack<int> stack2;//删除元素栈};

扩展: 两个队列模拟一个栈。

这里写图片描述

0 0
原创粉丝点击