更多干货文章持续更新,微信搜索「代码随想录」第一时间围观,本文 GitHub:https://github.com/youngyangyang04/leetcode-master 已经收录,欢迎star,fork,共同学习,一起进步。

题目地址

https://leetcode-cn.com/problems/implement-stack-using-queues/

思路

有的同学可能疑惑这种题目有什么实际工程意义,其实很多算法题目主要是对知识点的考察和教学意义远大于其工程实践的意义,所以面试题也是这样!

用栈实现队列, 和用队列实现栈的思路还是不一样的,这取决于这两个数据结构的性质

建议大家题目编号: 225 和 232 一起做来做

详细如代码注释所示

C++代码

class MyStack {
public:queue<int> que1;queue<int> que2; // 辅助队列/** Initialize your data structure here. */MyStack() {}/** Push element x onto stack. */void push(int x) {que1.push(x);}/** Removes the element on top of the stack and returns that element. */int pop() {int size = que1.size();size--;while (size--) { // 将que1 导入que2,但要留下最后一个元素que2.push(que1.front());que1.pop();}int result = que1.front(); // 留下的最后一个元素就是我们要返回的值que1.pop();que1 = que2; // 再将que2赋值给que1while(!que2.empty()) { // 清空que2que2.pop();}return result;}/** Get the top element. */int top() {return que1.back();}/** Returns whether the stack is empty. */bool empty() {return que1.empty();}
};

代码的一切,尽在「代码随想录」。 文章首发在公众号:「代码随想录」,你值得关注!

「leetcode」225. 用队列实现栈/Implement Stack using Queues相关推荐

  1. LeetCode Algorithm 225. 用队列实现栈

    225. 用队列实现栈 Ideas 队列和栈的相互操作,需要特别理解栈和队列这两种数据结构的相同点和不同点. 栈:先进后出,队列:先进先出. 既然数据结构已经限定元素进出的顺序,那么单纯的用一个队列肯 ...

  2. LeetCode:225. 用队列实现栈

    1.题目描述 使用队列实现栈的下列操作: push(x) -- 元素 x 入栈 pop() -- 移除栈顶元素 top() -- 获取栈顶元素 empty() -- 返回栈是否为空 注意: 你只能使用 ...

  3. 算法训练Day11 | LeetCode232. 用栈实现队列(模拟);225.用队列实现栈(模拟);20. 有效的括号(栈应用);1047. 删除字符串中的所有相邻重复项(栈应用)

    目录 LeetCode232.用栈实现队列 1. 思路 2. 代码实现 3. 复杂度分析 4. 思考 LeetCode225. 用队列实现栈 1. 思路 2. 代码实现 3. 复杂度分析 4. 思考 ...

  4. 代码随想录算法训练Day11 LeetCode232. 用栈实现队列(模拟);225.用队列实现栈(模拟);20. 有效的括号(栈应用);1047. 删除字符串中的所有相邻重复项(栈应用)

    代码随想录算法训练Day11 | LeetCode232. 用栈实现队列(模拟):225.用队列实现栈(模拟):20. 有效的括号(栈应用):1047. 删除字符串中的所有相邻重复项(栈应用) 关于栈 ...

  5. 【代码随想录刷题记录】 232.用栈实现队列 、225. 用队列实现栈

    232.用栈实现队列 题目 请你仅使用两个栈实现先入先出队列.队列应当支持一般队列支持的所有操作(push.pop.peek.empty): 实现 MyQueue 类: void push(int x ...

  6. 代码随想录【day 10 栈与队列】| 232.用栈实现队列、 225. 用队列实现栈

    代码随想录[day 10 栈与队列]| 232.用栈实现队列. 225. 用队列实现栈 理论基础 LeetCode 232.用栈实现队列 题目链接:232.用栈实现队列 卡哥文解 视频讲解 解题思路( ...

  7. Cube 技术解读 | 详解「支付宝」全新的卡片技术栈

    简介:魔方卡片(Cube),让 App 首页实现敏捷更新. CodeHub#7 正式落幕,来自蚂蚁集团的技术专家「京君」与掘金社区的开发者们分享了「支付宝」全新的卡片技术栈--魔方卡片(Cube). ...

  8. LeetCode(集合)队列和栈的相互实现 golang

    手写!!! 225. 用队列实现栈 使用队列实现栈的下列操作: push(x) – 元素 x 入栈 pop() – 移除栈顶元素 top() – 获取栈顶元素 empty() – 返回栈是否为空 注意 ...

  9. Suzy找到实习了吗Day 10 | 栈和队列开始啦:232. 用栈实现队列,225. 用队列实现栈

    day10 python栈的实现 Python栈所需要的包 232. 用栈实现队列 思路 solution ?? 225. 用队列实现栈 思路 solution python栈的实现 Python中现 ...

  10. LeetCode刷题记录——队列、栈

    20. 有效的括号 给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效. 有效字符串需满足: 左括号必须用相同类型的右括号闭合. 左括号必须以正确的顺序闭合. ...

最新文章

  1. MySQL数据库操作(DDL)
  2. u盘病毒之tel.xls.exe
  3. char与varchar区别(MYISAM)
  4. 从苹果店员到机器学习工程师,高中学历澳洲小哥的自学路
  5. [Oracle] Data Pump 详细使用教程(5)- 命令交互模式
  6. (18)System Verilog禁止约束语句
  7. 拦截器手动添加spring注入方法
  8. 升级Linux下的sudo
  9. 海康相机回调方式理一下
  10. android webview 设置cookie时间,解决Android webview设置cookie和cookie丢失的问题
  11. go语言学习之helloword
  12. noi2016试题C语言,noip2016普及组初赛试题和答案.pdf
  13. matlab进行动力吸振器设计,动力吸振器详解.doc
  14. 基于OCR训练的halcon汉字识别
  15. 18位 身份证号 的 组成 部分
  16. Linux内存从0到1学习笔记(9.4,内存优化调试之使用page_owner分析内存黑洞)
  17. 网站微信扫码授权登录
  18. 从键盘输入一个整数,判断它是正数,负数,0
  19. 2020.05.29
  20. 个人练习小览---《微金所仿站》

热门文章

  1. NYOJ12 喷水装置(二)
  2. 51nod1122 机器人走方格 V4
  3. YIi2 Pjax简单使用
  4. python的Singleton模式实现
  5. 中电网嵌入式系统主题月即将开幕
  6. python 库文件版本收集及安装
  7. javar -jar 和 java -cp :命令行运行java代码
  8. 使用 python 管理 mysql 开发工具箱 - 2
  9. VS2010对Excel操作---DLL向
  10. 如何设计自动化测试的代码结构