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

LeetCode[225]用队列实现栈

思路:

题目中说可以给我们两个队列来实现,但其实一个队列就可以实现了,poll的时候就是栈头,也就是队尾元素,那么我们如何获得队尾元素,我们直接让队尾前面的元素重新入队不就完了嘛!找栈顶元素和找队尾元素是一样的,一样的操作

class MyStack {Queue<Integer> queue;public MyStack() {queue = new LinkedList<>();}public void push(int x) {queue.add(x);}public int pop() {int size = queue.size();size--;while (size-- > 0) {queue.add(queue.poll());}return queue.poll();}public int top() {int size = queue.size();size--;while (size-- > 0) {queue.add(queue.poll());}int result = queue.poll();queue.add(result);return result;}public boolean empty() {return queue.isEmpty();}
}/*** Your MyStack object will be instantiated and called as such:* MyStack obj = new MyStack();* obj.push(x);* int param_2 = obj.pop();* int param_3 = obj.top();* boolean param_4 = obj.empty();*/

 

http://www.xdnf.cn/news/656.html

相关文章:

  • 基于 Spring Boot 瑞吉外卖系统开发(五)
  • thymeleaf模板引擎
  • 【AI训练环境搭建】在Windows11上搭建WSL2+Ubuntu22.04+Tensorflow+GPU机器学习训练环境
  • 996引擎-拓展变量:物品变量
  • 【技术派后端篇】Redis实现统计计数
  • 全同态加密医疗数据分析集python实现
  • 深入探索 Unix 与 Linux:历史、内核及发行版
  • QML 样式库
  • OpenCV基础01-图像文件的读取与保存
  • 【每日八股】复习计算机网络 Day3:TCP 协议的其他相关问题
  • Qt基础005(文件操作后续)
  • 中间件--ClickHouse-14--案例-3-其他案例思路概述
  • 爆肝整理!Stable Diffusion的完全使用手册(二)
  • trivy开源安全漏洞扫描器——筑梦之路
  • 【21天学习打卡挑战赛】如何学习WEB安全:逼自己在短时间掌握WEB安全核心内容
  • 深入理解 CICD 与 Jenkins 流水线:从原理到实践
  • Python 项目环境配置与 Vanna 安装避坑指南 (PyCharm + venv)
  • 机器学习中的“三态模型“:过拟合、欠拟合和刚刚好
  • WordPress按分类ID调用该分类的内容数量
  • 【网络】数据链路层知识梳理
  • Vue3项目自定义全局防抖节流
  • Linux命令-Shell编程
  • 星拍相机APP:时尚与科技的完美融合,打造你的专属美
  • 【Docker项目实战】使用Docker部署Jupyter Notebook服务
  • go语言对http协议的支持
  • 对象多态与行为多态
  • 网络开发基础(游戏)之 二进制数据处理
  • SSM(SpringMVC+spring+mybatis)整合的步骤以及相关依赖
  • JVM垃圾回收器整理
  • Oracle EBS COGS Recognition重复生成(一借一贷)