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

代码随想录算法训练营第十天|232.用栈实现队列、225. 用队列实现栈

232.用栈实现队列

在这里插入图片描述

题目链接:232. 用栈实现队列
文档讲解:代码随想录
状态:写出来 ,但差强人意

思路: 定义两个容器,可以是Stack,也可以是Deque,stackIn相当于临时容器,用来存放元素,stackOut相当于最终容器,当需要查看或返回元素时,会把stackIn中的元素往stackOut中汇总一次。

题解:

public class MyQueue_232 {//stackIn相当于临时容器,用来存放元素//stackOut相当于最终容器,当需要查看或返回元素时,会把stackIn中的元素往stackOut中汇总一次Deque<Integer> stackIn;Deque<Integer> stackOut;public MyQueue_232() {stackIn = new ArrayDeque<>();stackOut = new ArrayDeque<>();}public void push(int x) {stackIn.push(x);}//当stackOut为空时,stackIn中元素存入stackOut中public int pop() {if (stackOut.isEmpty()) {inToOut();}return stackOut.pop();}public int peek() {if (stackOut.isEmpty()) {inToOut();}return stackOut.peek();}public boolean empty() {return stackIn.isEmpty() && stackOut.isEmpty();}void inToOut() {while (!stackIn.isEmpty()) {stackOut.push(stackIn.pop());}}@Overridepublic String toString() {return "MyQueue_232{" +"stackIn=" + stackIn +", stackOut=" + stackOut +'}';}

225.用队列实现栈

在这里插入图片描述

题目链接:225.用队列实现栈
文档讲解:代码随想录
状态:没啥好说的

题解:

class MyStack {Deque<Integer> deque1 = new LinkedList<>();Deque<Integer> deque2 = new LinkedList<>();public void push(int x) {deque1.push(x);deque2.push(x);}public int pop() {deque1.pollLast();return deque2.poll();}public int top() {return deque2.peek();}public boolean empty() {return deque2.isEmpty();}}
http://www.lryc.cn/news/358611.html

相关文章:

  • STM32 IIC协议
  • Java生成随机数的几种方式
  • 【面试】什么是Java虚拟机
  • Go 语言的基本构成、要素与编写规范
  • 从了解到掌握 Spark 计算框架(二)RDD
  • 香橙派OrangePi AIpro上手笔记——之USB摄像头目标检测方案测试(三)
  • 【git】常用命令
  • JavaWeb_MySQL数据库
  • 中国BI步入增长大周期,腾讯云ChatBI加速AI+BI融合
  • 揭秘Python:下划线的特殊用法,你绝对想不到!
  • 深入探索Java世界中的Jackson魔法:玩转JsonNode
  • 为什么要使用动态代理IP?
  • 【PB案例学习笔记】-09滚动条使用
  • C++中常见的构造函数类别
  • 万界星空科技MES系统功能介绍
  • 炸裂的开源AI语音生成模型ChatTTS
  • Mac逆向Electron应用
  • (三)MobaXterm、VSCode、Pycharm ssh连接服务器并使用
  • 【Linux】初识信号及信号的产生
  • 故障诊断 | 基于 KAN、KAN卷积的轴承故障诊断模型
  • 【设计模式】JAVA Design Patterns——Factory Method(虚拟构造器模式)
  • Spring——依赖项
  • C语言 | Leetcode C语言题解之第119题杨辉三角II
  • 深入分析 Android Service (一)
  • 英飞凌24GHz毫米波雷达-BGT24LTR11N16家用机器人应用
  • 17.js字符串
  • JS-51-Node.js10-yarn
  • idea项目一直在build
  • SpringBoot六种API请求参数读取方式
  • WSDM2024推荐系统和LLM相关论文整理(二)