【精】LintCode领扣问题答案:40. 用栈实现队列
40. 用栈实现队列:
正如标题所述,你需要使用两个栈来实现队列的一些操作。
队列应支持push(element),pop() 和 top(),其中pop是弹出队列中的第一个(最前面的)元素。
pop和top方法都应该返回第一个元素的值。
假设调用pop()函数的时候,队列非空
样例 1
输入:push(1)pop() push(2)push(3)top() pop()
输出:122
样例 2
输入:push(1)push(2)push(2)push(3)push(4)push(5)push(6)push(7)push(1)
输出:[]
挑战
仅使用两个栈来实现它,不使用任何其他数据结构,push,pop 和 top的复杂度都应该是均摊O(1)的
原题传送门
题解
public class MyQueue {private final Stack<Integer> inStack = new Stack<>();private final Stack<Integer> outStack = new Stack<>();public MyQueue() {// do intialization if necessary}/** @param element: An integer* @return: nothing*/public void push(int element) {// write your code hereinStack.push(element);}/** @return: An integer*/public int pop() {// write your code hereadjust();return outStack.pop();}/** @return: An integer*/public int top() {// write your code hereadjust();return outStack.peek();}private void adjust() {if (outStack.isEmpty()) {while (!inStack.isEmpty()) {outStack.push(inStack.pop());}}}
}
最后说两句
非常感谢你阅读本文章,如果你觉得本文对你有所帮助,请留下你的足迹,点个赞,留个言,多谢~
作者水平有限,如果文章内容有不准确的地方,请指正。
希望小伙伴们都能每天进步一点点。
本文由二当家的白帽子博客原创,转载请注明来源,谢谢~
【精】LintCode领扣问题答案:40. 用栈实现队列相关推荐
- 【精】LintCode领扣算法问题答案:1029. 寻找最便宜的航行旅途(最多经过k个中转站)
1029. 寻找最便宜的航行旅途(最多经过k个中转站) 描述 有n个城市被一些航班所连接.每个航班 (u,v,w) 从城市u出发,到达城市v,价格为w. 给定城市数目 n,所有的航班flights.你 ...
- 【精】LintCode领扣算法问题答案:入门
文章目录 23. 判断数字与字母字符 描述 题解 25. 打印X 描述 题解 37. 反转一个3位整数 描述 题解 145. 大小写转换 描述 题解 366. 斐波纳契数列 描述 题解 454. 矩阵 ...
- 【精】LintCode领扣算法问题答案:1084. “马”在棋盘上的概率
1084. "马"在棋盘上的概率 描述 已知一个 NxN 的国际象棋棋盘,棋盘的行号和列号都是从 0 开始.即最左上角的格子记为 (0, 0),最右下角的记为 (N-1, N-1) ...
- 【精】LintCode领扣算法问题答案:306. 商品列表
306. 商品列表: 有一个商品列表,该列表是由L1.L2两个子列表拼接而成.当用户浏览并翻页时,需要从列表L1.L2中获取商品进行展示.展示规则如下: 用户可以进行多次翻页,用offset表示用户已 ...
- 【精】LintCode领扣算法问题答案:1086. 重复字符串匹配
1086. 重复字符串匹配: 给定两个字符串A和B,找到A必须重复的最小次数,以使得B是它的子字符串. 如果没有这样的解决方案,返回-1. A和B的长度在1到10000之间. 样例 1 输入 : A ...
- 【精】LintCode领扣算法问题答案:316. 组合集
316. 组合集 描述 给一个数组,给出所有可能的排列组合出的数小于给定的数字 1 <= len(num) <= 10 0 <= num[i] <= 9 target < ...
- 【精】LintCode领扣算法问题答案:993. 数组划分 I
993. 数组划分 I: 给一个有 2n 个整数的数组,你的任务是把这些整数分成 n 组,如(a1, b1),(a2, b2),-,(an, bn).并且使得 i 从 1 到 n 的 min(ai, ...
- 【精】LintCode领扣算法问题答案:1371. 链表组件
1371. 链表组件 描述 给定一个链表(链表结点包含一个整型值)的头结点 head. 同时给定列表 G,该列表是上述链表中整型值的一个子集. 返回列表 G 中组件的个数,这里对组件的定义为:链表中一 ...
- 【精】领扣LintCode算法问题答案:336. 文本压缩
336. 文本压缩 描述 给你一个只含有可见字符(ASCII 码范围 32 至 126)文本文件,文件中可能出现一些重复的单词,你需要对它们进行压缩. 压缩规则如下: 如果原文件中的字符不是英文字符, ...
最新文章
- SNMP OID是什么?
- WPF Converter 使用复杂参数的方法
- Eclipse SVN插件检出Src下面的包变成了文件夹解决
- U_boot 的 bootcmd 和bootargs参数详解
- android gif转jpg格式文件,android使用多张图片合成gif文件
- 数据结构思维 第十三章 二叉搜索树
- 让图片左右缓慢移动的MoveView
- 关于内存泄漏检测问题,和大家一起分享
- javaWeb基于SSM框架学生信息管理系统项目完整源码附带部署教程
- PPDE三星私有协议
- Android 项目必备(三十二)-->APP 项目产品介绍
- 利用旧电脑搭建NAS(黑群晖)
- 百度网盘高速直链提取
- Bootstrap(一)
- 禁用U盘等移动设备的自动播放
- 互联网医院软件|互联网医院系统开发|在线问诊提高医疗效率
- 计算机如何寻址硬盘,寻址
- 2023西湖论剑wirteup
- 运行CCleaner时出现问题
- 齐治堡垒机前台远程命令执行漏洞(CNVD-2019-20835)分析
热门文章
- 基于JAVA古惠农产品线上销售系统计算机毕业设计源码+数据库+lw文档+系统+部署
- 在线python3_Python3练习项目10:在线聊天室(下)
- 濑尿虾(富贵虾)的做法有很多种:
- 机器学习之各种熵的总结
- 使用纯H5开发手机app页面的一些经验
- php rrdtool,PHP配置rrdtool扩展 (How to build the PHP rrdtool extension)
- 小程序中获取屏幕高度及iPhoneX适配问题
- 改变bootstarp图标水平方向
- vue3 template
- Android 实现音频的裁剪,拼接和混音