当前位置: 首页 > news >正文

队列算法之【用队列实现栈】

目录

LeetCode-225题


LeetCode-225题

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

实现 MyStack 类:

  • void push(int x) 将元素 x 压入栈顶
  • int pop() 移除并返回栈顶元素
  • int top() 返回栈顶元素
  • boolean empty() 如果栈是空的,返回 true ;否则,返回 false
class MyStack {//内部使用的是一个队列private final Queue<Integer> queue;public MyStack() {queue = new LinkedList<>();}// 入栈:直接将元素添加到队列中public void push(int x) {queue.offer(x);}// 出栈:将队列中除了最后一个元素,其它元素先出队再进队public int pop() {int size = queue.size();for (int i = 0; i < size - 1; i++) {queue.offer(queue.poll());}// 此时出队的是最后进入的元素,保证后进先出的特点return queue.poll();}// 查看栈顶元素public int top() {int size = queue.size();for (int i = 0; i < size - 1; i++) {queue.offer(queue.poll());}Integer result = queue.poll();queue.offer(result);// 最后添加的元素为栈顶元素return result;}// 判空public boolean empty() {return queue.isEmpty();}
}

http://www.lryc.cn/news/603171.html

相关文章:

  • 【Android】三种弹窗 Fragment弹窗管理
  • 人工智能技术革命:AI工具与大模型如何重塑开发者工作模式与行业格局
  • Sentinel实现限流和熔断降级
  • 四、Linux核心工具:Vim, 文件链接与SSH
  • 整车应用------后电驱总成
  • Java 大视界 -- Java 大数据在智能教育学习社区知识图谱构建与知识传播分析中的应用(370)
  • centos服务器安装minio
  • React 中获取当前路由信息
  • 低空经济应用-无人机拉格朗日粒子追踪技术
  • 界面控件Telerik UI for WPF 2025 Q2亮点 - 重要组件全新升级
  • SeeMoE:从零开始实现一个MoE视觉语言模型
  • CentOS Nginx 1.13.9 部署文档
  • 14 - 大语言模型 — 抽取式问答系统 “成长记”:靠 BERT 学本事,从文本里精准 “揪” 答案的全过程(呆瓜版-1号)
  • 分布式链路追踪详解
  • 【C++】第十九节—一文万字详解 | AVL树实现
  • 【C++篇】“内存泄露”的宝藏手段:智能指针
  • 【腾讯云】EdgeOne免费版实现网站加速与安全防护
  • thingsboard 自定义动作JS编程
  • uniapp 如果进入页面输入框自动聚焦,此时快速返回页面或者跳转到下一个页面,输入法顶上来的页面出现半屏的黑屏问题。
  • 在 Ubuntu 下测试单目与双目相机
  • 影翎Antigravity将发布全球首款全景无人机,8月开启公测招募
  • python案例:基于python 神经网络cnn和LDA主题分析的旅游景点满意度分析
  • JAVA第五学:方法的使用
  • 实时画面回传的开发复盘
  • 【LeetCode 热题 100】34. 在排序数组中查找元素的第一个和最后一个位置——二分查找
  • Linux之网络部分-应用层协议 HTTP
  • Objective-c 初阶——异常处理(try-catch)
  • 第2章算法分析:大O符号的定义和性质
  • 第17章——多元函数积分学的预备知识
  • golang--通道和锁