用队列实现栈

news/2024/10/23 14:29:56/

请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop 和 empty)。

实现 MyStack 类:

void push(int x) 将元素 x 压入栈顶。 int pop() 移除并返回栈顶元素。 int top() 返回栈顶元素。 boolean empty() 如果栈是空的,返回 true ;否则,返回 false 。

示例:

输入:
["MyStack", "push", "push", "top", "pop", "empty"]
[[], [1], [2], [], [], []]
输出:
[null, null, null, 2, 2, false]
​
解释:
MyStack myStack = new MyStack();
myStack.push(1);
myStack.push(2);
myStack.top(); // 返回 2
myStack.pop(); // 返回 2
myStack.empty(); // 返回 False

代码如下:

//定义两个队列,一个主队列,一个辅队列
class MyStack {
public:queue<int> queue1;queue<int> queue2; MyStack() {}void push(int x) {queue2.push(x);//先将元素入到辅队列里while(!queue1.empty()){queue2.push(queue1.front());//将主队列的队头元素加入辅队列queue1.pop();//再让主队列出队}swap(queue1,queue2);//交换两个队列的值}int pop() {//出栈int n=queue1.front();//获取队头元素queue1.pop();//再让queue1队列出队return n;}int top() {int m=queue1.front();//获取栈顶元素,获取队头元素return m;}bool empty() {return queue1.empty();//让queue1出队,判断queue1是否为空}
};


http://www.ppmy.cn/news/69266.html

相关文章

十一、Hystrix服务保护

目录 服务雪崩相关概念简述 服务的雪崩效应 造成服务雪崩的原因 服务雪崩最终的结果 防止服务雪崩的方法 一、服务降级 1、引入Hystrix 服务保护依赖 2、基于注解HystrixCommand使用Hystrix 2.1、在需要进行服务保护的方法上添加注解HystrixCommand&#xff0c;并指定…

【面向对象】

面向对象 什么是面向对象&#xff1f; 对比面向过程&#xff0c;是两种不同的处理问题的角度 面向过程更注重事情的每一个步骤及顺序&#xff1b;面向对象更注重事情有哪些参与者&#xff08;对象&#xff09;&#xff0c;以及各自需要做什么 比如&#xff1a;洗衣机洗衣服…

5.名词复数、动词规则、代词、形容词、副词(不包含不规则)

目录 一、 名词、动词、代词、形容词、副词五种的规则变化。 &#xff08;1&#xff09;名词。 &#xff08;1.1&#xff09;名词复数变化。 &#xff08;1.2&#xff09;名词所有格。 &#xff08;2&#xff09; 动词变化规则。 &#xff08;3&#xff09;代词。 &…

LeetCode 2446. 判断两个事件是否存在冲突

【LetMeFly】2446.判断两个事件是否存在冲突 力扣题目链接&#xff1a;https://leetcode.cn/problems/determine-if-two-events-have-conflict/ 给你两个字符串数组 event1 和 event2 &#xff0c;表示发生在同一天的两个闭区间时间段事件&#xff0c;其中&#xff1a; even…

一、走进easyUI的世界

1.什么是easyUI&#xff1f; jQuery EasyUI是一组基于jQuery的UI插件集合体&#xff0c;而jQuery EasyUI的目标就是帮助web开发者更轻松的打造出功能丰富并且美观的UI界面。开发者不需要编写复杂的javascript&#xff0c;也不需要对css样式有深入的了解&#xff0c;开发者需要…

[遗传学]转座因子的结构与功能

本篇文章主要带你了解:转座因子的发现和分类;原核生物以及真核生物种的转座子;转座作用的分子机制以及转座因子的遗传学效应和应用. &#x1f9ec;转座因子的发现和分类 &#x1f9ec;转座因子的概念 转座因子(transposable element)是在转座酶&#xff08;transposase&#xf…

【线下赛游记】2023 ICPC西安邀请赛 游记

【线下赛游记】2023 ICPC西安邀请赛 游记 day -2 ​ 现在是周四&#xff0c;虽然周日才开始比赛&#xff0c;但早已是 “激动的心 颤抖的手” 了&#xff0c;上完早八&#xff0c;就决定一直加训到晚上&#xff0c;结果一下午就在Codeforces和洛谷之间横跳&#xff0c;看着与…

Java异常常见面试题

1. Error 和 Exception 区别是什么&#xff1f; Error 类型的错误通常为虚拟机相关错误&#xff0c;如系统崩溃&#xff0c;内存不足&#xff0c;堆栈溢出 等&#xff0c;编译器不会对这类错 误进行检测&#xff0c;JAVA 应用程序也不应对这类错误进行捕 获&#xff0c;一旦…