双栈队列练习

来源:互联网 发布:百知教育和达内哪个好 编辑:程序博客网 时间:2024/04/24 18:31

链接:https://www.nowcoder.com/courses/1/4/4
来源:牛客网

编写一个类,只能用两个栈结构实现队列,支持队列的基本操作(push,pop)。
给定一个操作序列ope及它的长度n,其中元素为正数代表push操作,为0代表pop操作,保证操作序列合法且一定含pop操作,请返回pop的结果序列。
测试样例:
[1,2,3,0,4,0],6
返回:[1,2]

这个题目需要注意返回的是pop的结果序列,也就是返回整个操作序列pop出的元素。
另外双栈队列在取出front元素和pop时都可能需要搬运元素。这个需要注意。

class twostackqueue {public:    twostackqueue() {}    void push(int a)        {        stack_push.push(a);    }    void pop()        {        if(!stack_pop.empty())        stack_pop.pop();        else if(!stack_push.empty())        {            while(!stack_push.empty()){               stack_pop.push(stack_push.top());               stack_push.pop();             }             stack_pop.pop();         }        else            return;                }    int front()        {        if(!stack_pop.empty())        return stack_pop.top();        else if(!stack_push.empty())        {            while(!stack_push.empty()){               stack_pop.push(stack_push.top());               stack_push.pop();             }             return stack_pop.top();         }        return -1;    }private:    stack<int> stack_push;    stack<int> stack_pop;};class TwoStack {public:    vector<int> twoStack(vector<int> ope, int n) {        vector<int> res;        twostackqueue que;        for(int i=0;i!=n;++i)            {            if(ope[i]>0){                que.push(ope[i]);            }            else {                res.push_back(que.front());                que.pop();            }                       }        return res;    }};
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 新疆转入山东上学怎么办手续 驾照过日期换证怎么办 机动车被扣24分怎么办 车辆被扣24分怎么办 现在深圳牌十年老车怎么办? 护士证过期4年了怎么办 护士资格证延续注册过期了怎么办 护士资格证过期没注册怎么办 护士资格证注册时间过期怎么办 辅警体检视力不行怎么办 护士延续注册体检怀孕怎么办 护士资格证没有延续注册怎么办 申请信用卡没有座机号码怎么办 网上申请信用卡没有座机号码怎么办 我叫上门服务被骗了怎么办 上门服务被骗了3000多怎么办 微信被骗9000元怎么办 奥迪a8气囊灯亮怎么办 驾考站岗迟到了怎么办 老板欠员工工资不给怎么办 如果有一天我没头发了怎么办 苏州公积金密码忘了怎么办 科二考试第二把怎么办 科一老是记不住怎么办 科目二考试没去怎么办 网约车驾龄不到怎么办 科四预约不上怎么办 教练不退钱怎么办找谁 驾考出入证丢了怎么办 科二成绩单丢了怎么办 考驾照的准考证丢了怎么办 驾考预约去不了怎么办 科目一预约没去怎么办 打狂犬疫苗期间感冒了怎么办 公司社保欠费不交怎么办 25号社保不交怎么办欠费 会计从业停考了怎么办 黑龙江龙育黄了档案怎么办 科目四档案丢了怎么办 从上海调档案到杭州怎么办 户口迁移身份证变更护照怎么办