09. 用两个栈实现队列
2020-06-22
1.题目描述
用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成
在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )
2.题解
一个栈用来输入,一个栈用来输出
入栈:直接入栈1即可
出栈:如果栈2为空,则将栈1所有元素放入栈2,并输出栈2栈顶元素,如果栈2不为空,直接出栈2即可
3.代码
class CQueue {public:CQueue() {}void appendTail(int value) {s1.push(value);}int deleteHead() {if (s1.empty()&&s2.empty()) return -1;if (s2.empty()){while (!s1.empty()){s2.push(s1.top());s1.pop();}}int t=s2.top();s2.pop();return t;}stack<int> s1,s2;
};/*** Your CQueue object will be instantiated and called as such:* CQueue* obj = new CQueue();* obj->appendTail(value);* int param_2 = obj->deleteHead();*/
09. 用两个栈实现队列相关推荐
- 《LeetCode力扣练习》剑指 Offer 09. 用两个栈实现队列 Java
<LeetCode力扣练习>剑指 Offer 09. 用两个栈实现队列 Java 一.资源 题目: 用两个栈实现一个队列.队列的声明如下,请实现它的两个函数 appendTail 和 de ...
- java 栈和队列实现迷宫代码_LeetCode每日一题--剑指 Offer 09. 用两个栈实现队列(Java)
DailyChallenge 剑指 Offer 09. 用两个栈实现队列 Easy20200630 Description 用两个栈实现一个队列.队列的声明如下,请实现它的两个函数 appendTai ...
- 【LeetCode】剑指 Offer 09. 用两个栈实现队列
[LeetCode]剑指 Offer 09. 用两个栈实现队列 文章目录 [LeetCode]剑指 Offer 09. 用两个栈实现队列 一.双栈 总结 一.双栈 维护两个栈,第一个栈支持插入操作,第 ...
- 剑指offer系列-09.用两个栈设计队列
剑指offer系列第09题.用两个栈设计队列 用两个栈实现一个队列.队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead , 分别完成在队列尾部插入整数和在队列头部删除整 ...
- 剑指offer:面试题09. 用两个栈实现队列
题目:用两个栈实现队列 用两个栈实现一个队列.队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能.(若队列中没有 ...
- 面试题 03.04. 化栈为队/面试题09. 用两个栈实现队列/232. 用栈实现队列
2020-05-08 1.题目描述 用两个栈实现一个队列 2.题解 将一个栈用来进行入操作,另一个进行出操作,入栈直接入,出栈的时候如果是空的则把另一个 栈中的所有元素移动过来,再进行出栈,否则直接出 ...
- Leetcode 剑指 Offer 09. 用两个栈实现队列 (每日一题 20210915)
用两个栈实现一个队列.队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能.(若队列中没有元素,deleteHea ...
- 【双100%提交】剑指 Offer 09. 用两个栈实现队列
立志用最少的代码做最高效的表达 用两个栈实现一个队列.队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能.(若队 ...
- 剑指 Offer 09. 用两个栈实现队列(相邻相同操作只需要移动一次)
题目 用两个栈实现一个队列.队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能.(若队列中没有元素,delete ...
最新文章
- 【Ubuntu 16】源码包安装Apache Httpd
- div实现返回符,倒三角,椭圆+小知识收集
- 修复版GEP宝塔内嵌版全解源码
- 以太坊搭建联盟链_区块链知识普及:什么是以太坊
- ambari安装中常见的问题
- golang1.1-基础环境的配置以及事项
- python 求当前小时前n个小时
- python udp 直播_Python使用UDP协议实现局域网内屏幕广播
- 2022年3月14日黑马程序员第二天
- python 百度ai 牌照识别_Python用百度AI实现文字识别功能!(银行卡,营业执照,等识别)...
- 定点运算之原码一位乘法
- eclipse导入系统签名
- 轻松掌握Logstash的grok匹配
- 非常详细的图文安装wordpress安装教程
- Strong-Convexity
- Sublime Merge中文版
- php网页报告2500字,教你写作文2500字
- 2019年4月10日
- win10此电脑桌面显示(桌面显示)
- Excel公式中的countif 和 conutifs 和sumproduct
热门文章
- macOS Big Sur11.2发布候选版更新:修复蓝牙和显示连接问题
- 本地计算机上的mysql80服务启动后停止 某些_MySQL服务启动:某些服务在未由其他服务或程序使用时将自动停止...
- 操作系统课设之Windows 的互斥与同步
- Vue第二部分(2):组件的嵌套与通信
- Java笔记-获取当前时间及对当前时间进行加减及时间对比
- Qt工作笔记-发送端发送Json格式的数据包,接收端解析数据包
- Qt工作笔记-对QImage的进一步认识(关于α通道)
- 轻松的java,轻松进行Java Portlets
- springboot python整合_SpringCloud 整合 Python - Flask
- 开发文档怎么编写_PoC 编写指南