当前位置:网站首页>用队列实现栈
用队列实现栈
2022-07-15 08:33:00 【染指流年灬】
之前面试一直不刷题,因为感觉工作中用不到,为了卷而卷,这是有点知名度的力扣面试题,学撤销重做的时候想起,之前的面试中被问过两三次了,紧张了,几分钟都构思不到, 有点兴趣还是记录一下。
题目
使用队列实现栈的下列操作:
push(x) – 元素 x 入栈
pop() – 移除栈顶元素
top() – 获取栈顶元素
empty() – 返回栈是否为空
思路
我们用两个队列A、B来模拟栈,这里将A看作是栈,B看作是实现栈操作所需的临时队列。
入栈:直接将元素添加进队列
出栈:将A队列中队尾元素以外的都挪到B队列中,使得栈顶元素能够被取出。然后再将A的末尾元素"出栈"。 然后,将AB的引用交换, 这样A更新之后的内容看起来就像出栈。

返回栈顶元素:和出栈同理,只是在返回A的末尾元素后, A的末尾元素也得进入B队列。
判断栈是否为空:如果AB同时为空,则为空栈。
边栏推荐
- 阿里巴巴达摩院对话团队招聘研究实习生!
- PolarDB for PostgreSQL的表空间与数据库有什么关系?
- Communication mode - 8080 parallel port
- AI opencvsharp big picture to small picture (case version)
- c语言基础篇:关机小程序
- How to use list
- APP&web测试工具
- Leetcode exercise - Sword finger offer 32 - I. print binary tree from top to bottom
- 查找——二叉排序树(一)
- Apache Flink 在翼支付的实践应用
猜你喜欢

Install Emmet plug-in for notepad++

海思万能平台搭建:在线调试2ssh的移植部署

JMeter常见错误怎样解决

【重识云原生】第四章云网络4.9.4.1节——智能网卡SmartNIC方案综述

查找——二叉排序树(一)

Set集合
![[recognize cloud Nativity] Chapter 4 cloud network section 4.9.4.1 - overview of smart NIC solutions](/img/58/06961183acb766e65722ecbe7cc20f.png)
[recognize cloud Nativity] Chapter 4 cloud network section 4.9.4.1 - overview of smart NIC solutions

阿里巴巴达摩院对话团队招聘研究实习生!

数组的理解与操作

图解数组计算模块Numpy上(指定数值类型、数值类型、二维数组索引、二维数组切片索引、数组重塑、数组的增、删、改、查、矩阵运算(mat)、矩阵求逆)
随机推荐
Apache Flink 在斗鱼的应用与实践
【无标题】csdn
Postman接口测试工具
What constitutes an Oracle tablespace?
Wx applet learning notes day02
Tips - xftp set default local folder
ES6中Array对象的方法和扩展、string的扩展方法、数组的遍历。(含例题)
MySQL——mysql下载地址
745. Prefix and suffix search: General trie application questions
The difference between step into and force step into in idea debugging
Communication mode - 8080 parallel port
Hybrid domain attention mechanism CBAM in CNN
c语言基础篇:二分查找
指针与数组的复杂纠葛
互联网公司都怎么实现分页的,拿 MySQL 使劲Limit?
R data analysis: talk about ggplot2 and ggsci in combination with the mapping method of APA format, please collect
How to start MySQL?
Afrog releases a new version, release 1.3.5. I really miss you
c语言基础篇:猜数字小游戏
开源篇--精准定位 模型重心坐标