当前位置:网站首页>LeetCode 232、用栈实现队列
LeetCode 232、用栈实现队列
2022-04-23 20:23:00 【亡于灬】
232、用栈实现队列
1)题目描述
请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty):
实现 MyQueue 类:
void push(int x)将元素 x 推到队列的末尾int pop()从队列的开头移除并返回元素int peek()返回队列开头的元素boolean empty()如果队列为空,返回true;否则,返回false
说明:
- 你 只能 使用标准的栈操作 —— 也就是只有
push to top,peek/pop from top,size, 和is empty操作是合法的。 - 你所使用的语言也许不支持栈。你可以使用 list 或者 deque(双端队列)来模拟一个栈,只要是标准的栈操作即可。
示例 1:
输入:
["MyQueue", "push", "push", "peek", "pop", "empty"]
[[], [1], [2], [], [], []]
输出:
[null, null, null, 1, 1, false]
解释:
MyQueue myQueue = new MyQueue();
myQueue.push(1); // queue is: [1]
myQueue.push(2); // queue is: [1, 2] (leftmost is front of the queue)
myQueue.peek(); // return 1
myQueue.pop(); // return 1, queue is [2]
myQueue.empty(); // return false
提示:
1 <= x <= 9- 最多调用
100次push、pop、peek和empty - 假设所有操作都是有效的 (例如,一个空的队列不会调用
pop或者peek操作)
2)分析
由于栈是先进后出,队列是先进先出,可以使用两个栈来实现顺序的调换。
3)C++代码
class MyQueue {
public:
stack<int> s1;
stack<int> s2;
MyQueue() {
}
void push(int x) {
s1.push(x);
}
int pop() {
if(s2.empty()){
while(!s1.empty()){
s2.push(s1.top());
s1.pop();
}
}
int res=s2.top();
s2.pop();
return res;
}
int peek() {
if(s2.empty()){
while(!s1.empty()){
s2.push(s1.top());
s1.pop();
}
}
int res=s2.top();
return res;
}
bool empty() {
return s1.empty()&&s2.empty();
}
};
/** * Your MyQueue object will be instantiated and called as such: * MyQueue* obj = new MyQueue(); * obj->push(x); * int param_2 = obj->pop(); * int param_3 = obj->peek(); * bool param_4 = obj->empty(); */
版权声明
本文为[亡于灬]所创,转载请带上原文链接,感谢
https://blog.csdn.net/qq_38342510/article/details/124360499
边栏推荐
- DNS cloud school | analysis of hidden tunnel attacks in the hidden corner of DNS
- Computing the intersection of two planes in PCL point cloud processing (51)
- JDBC tool class jdbcfiledateutil uploads files and date format conversion, including the latest, simplest and easiest way to upload single files and multiple files
- Local call feign interface message 404
- ArcGIS JS version military landmark drawing (dovetail arrow, pincer arrow, assembly area) fan and other custom graphics
- Redis installation (centos7 command line installation)
- Cadence Orcad Capture 批量更改元件封装功能介绍图文教程及视频演示
- WordPress插件:WP-China-Yes解决国内访问官网慢的方法
- Redis cache penetration, cache breakdown, cache avalanche
- PCA based geometric feature calculation of PCL point cloud processing (52)
猜你喜欢

On BIM data redundancy theory

How can matlab obtain the truncated image in trainingimagelabeler

Some basic configurations in interlij idea

Redis cache penetration, cache breakdown, cache avalanche

Matlab analytic hierarchy process to quickly calculate the weight

go-zero框架数据库方面避坑指南

Es keyword sorting error reason = fielddata is disabled on text fields by default Set fielddata = true on keyword in order

【PTA】整除光棍
ArcGIS JS version military landmark drawing (dovetail arrow, pincer arrow, assembly area) fan and other custom graphics

Sqoop imports tinyint type fields to boolean type
随机推荐
Some basic configurations in interlij idea
Error reported by Azkaban: Azkaban jobExecutor. utils. process. ProcessFailureException: Process exited with code 64
Monte Carlo py solves the area problem! (save pupils Series)
堡垒机、跳板机JumpServer的搭建,以及使用,图文详细
Cadence OrCAD capture batch change component packaging function introduction graphic tutorial and video demonstration
Rédaction de thèses 19: différences entre les thèses de conférence et les thèses périodiques
Analysis of the relationship between generalized Bim and CAD under the current background
How to protect ECs from hacker attacks?
R language ggplot2 visualization: ggplot2 visualizes the scatter diagram and uses geom_ mark_ The ellipse function adds ellipses around data points of data clusters or data groups for annotation
R语言ggplot2可视化:ggplot2可视化散点图并使用geom_mark_ellipse函数在数据簇或数据分组的数据点周围添加椭圆进行注释
SQL Server Connectors By Thread Pool | DTSQLServerTP plugin instructions
Es index (document name) fuzzy query method (database name fuzzy query method)
Unity 模型整体更改材质
上海回應“面粉官網是非法網站”:疏於運維被“黑”,警方已立案
16MySQL之DCL 中 COMMIT和ROllBACK
Sqoop imports tinyint type fields to boolean type
[graph theory brush question-4] force deduction 778 Swimming in a rising pool
16MySQL之DCL 中 COMMIT和ROllBACK
WordPress插件:WP-China-Yes解决国内访问官网慢的方法
Fundamentals of network communication (LAN, Wan, IP address, port number, protocol, encapsulation and distribution)