leetcode232. 用栈实现队列(java)

电子货架标签应用浅析(ESL) ​【 关注与分享,是对原创最大的鼓励 】 年底了,会断续介绍几个主要的BLE的应用及市场情况,这篇文章介绍的是电子货架标签, ESL (Electronic Shelf Label)。 文章将从应用简介,市场规模,产业链,头部玩家及系统框架进行介绍。只对技术感兴趣的可以直接拉到底。 ESL简介 ESL,是一种显示产品,其主要是替代传统的纸质标签,应用于大型商超,... 阅读详情

题目:

使用栈实现队列的下列操作:

  • push(x) – 将一个元素放入队列的尾部。
  • pop() – 从队列首部移除元素。
  • peek() – 返回队列首部的元素。
  • empty() – 返回队列是否为空。
    在这里插入图片描述

示例:
在这里插入图片描述
代码:

  • 解法一
//思路:两个栈进行pop和peek操作
class MyQueue {
    Stack<Integer> s1;
    Stack<Integer> s2;
    /** Initialize your data structure here. */
    public MyQueue() {
        s1 = new Stack<Integer>();
        s2 = new Stack<Integer>(); 
    }
    
    /** Push element x to the back of queue. */
    public void push(int x) {	//画图很好理解 给字符串abc 经过两个栈的操作 实际存入栈中元素顺序为bottom[c b a]top
        while (!s1.empty()) s2.push(s1.pop());	//将s1栈中元素都从S1栈放到s2栈中,
        s1.push(x);	//最新进栈的元素放入s1中
        while (!s2.empty()) s1.push(s2.pop());	//再将s2栈中的元素放回s1中
        return;
    }
    
    /** Removes the element from in front of queue and returns that element. */
    public int pop() {
        return s1.pop();
    }
    
    /** Get the front element. */
    public int peek() {
        int ret = s1.pop();	//
        s1.push(ret);
        return ret; 
    }
    
    /** Returns whether the queue is empty. */
    public boolean empty() {
        return s1.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();
 * boolean param_4 = obj.empty();
 */

  • 解法二
class MyQueue {
    Stack<Integer> s1, s2;
    /** Initialize your data structure here. */
    public MyQueue() {
        s1 = new Stack<>();
        s2 = new Stack<>();
    }
    
    /** Push element x to the back of queue. */
    public void push(int x) {
        s1.push(x);
    }

    /** Removes the element from in front of queue and returns that element. */
    public int pop() {
        while (!s1.isEmpty()) {
            s2.push(s1.pop());	//将S1中的元素进栈到S2中
        }
        int output = s2.pop();
        while (!s2.isEmpty()) { //在恢复S1中元素
            s1.push(s2.pop());
        }
        return output;
    }

    /** Get the front element. */
    public int peek() {	//与pop()思路相同
        while (!s1.isEmpty()) {
            s2.push(s1.pop());
        }
        int output = s2.peek();
        while (!s2.isEmpty()) {
            s1.push(s2.pop());
        }
        return output;
    }

    /** Returns whether the queue is empty. */
    public boolean empty() {
        return s1.isEmpty();
    }
}

/**
 * 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();
 * boolean param_4 = obj.empty();
 */
SAP ERP 系统订单行项目中的计划行(Scheduled Line)详解 *计划行(Scheduled Line)**是SAP系统中订单行项目(如采购订单、生产订单、销售订单等)的细分单元,用于记录和管理物料的供应或需求计划。每个订单行项目可以包含一个或多个计划行,每个计划行对应具体的交货日期、数量、需求类型(如采购申请、生产订单、库存调拨等)以及相关的物流控制参数。简单来说,计划行是系统对某一物料在特定时间点的供需状态的详细规划,它将订单分解为更细粒度的执行步骤,确保供应链各环节(如采购、生产、仓储)能够按计划协同工作。 阅读详情

相关推荐

Unity3D用c#脚本调用前端javascript函数:H5获取unity - webgl 加载并初始化完成的消息

unity3d发布的Webgl 可以作为静态文件加载到H5页面中,并通过javascript 调用unity内置的C#脚本函数,详见Webgl调用unity api。而往往我们需要知道Webgl ready的消息,本文将给出unity 内部调用javascript函数的方案加以解决。

Bravo 2477

Java:用栈来实现队列

java中,用栈来实现队列

m0_56673710的博客 683

NXP S32K3 Safety软件生态全解析:RTD、SPD、SAF、SCST到底怎么选?

本文深入解析NXP S32K3系列MCU的安全软件生态,详细对比RTD、SPD、SAF和SCST四大组件的功能定位与选型策略。针对不同ASIL等级需求,提供从架构设计到工程实践的完整解决方案,帮助开发者高效实现功能安全认证,优化汽车电子系统的安全性与可靠性。

weixin_42524226的博客 324

java用栈实现队列

栈实现队列

Kenneth0617的博客 303

Windows server Database 2025 安装 i225/i226 网卡驱动

Windows server Database 2025 安装 i225/i226 网卡驱动 windows这比坏得很,intel消费级网卡不准在服务器系统上安装。你要说他是异构不支持?他就纯粹恶心人。 之前已经安装过一次,但是今天database预览版一更新,又给我把网卡驱动杀了,气死,写一篇教程。 到这里就完成了,总之还是想辱骂windows,提供便捷的同时又人为制造困难,多少有点(隔壁linux内核直接自带全家桶了就一省心) 并且近年Intel的新U安装显卡驱动和普通声卡驱动都不会出声

低温热源的博客 1万+

论文理解【LLM-OR】——【OptiMUS】Scalable Optimization Modeling with (MI)LP Solvers and Large Language Models

OptiMUS 把“自然语言→优化建模与求解”从单次生成改造成“结构化问题 + 多智能体协作 + 连接图检索”的模块化流程,并在更长更难的数据集上验证了这种结构化方法相对端到端 prompting 的优

佚失的诗篇 829

栈和队列(超详细Java实现)

可以看到,先入栈的元素要等后入栈的元素出栈后才能出栈,栈中的元素总是遵循后进先出LIFO(Last In First Out)的原则。生活中的例子:JVM : Java虚拟机Java标准库中提供的栈 可以看到,Stack继承了Vector,Vector是动态的顺序表,与ArrayList类似,不同的是,Vector是线程安全的.实现的方法 输出结果: 2. 入栈(push) 3. 出栈(pop) 4.获取栈顶元素(peek) 5.获取元素个数(getSize) 6.判断栈是否为空(isEm

qq_57735833的博客 1万+

2026年03月CCF-GESP编程能力等级认证Scratch图形化编程一级真题解析

本文收录于《,订阅后可阅读专栏内所有文章。

人生就是一个不断学习的过程 241

LeetCode刷题笔记 字节每日打卡 用栈实现队列

请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(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,siz

weixin_45322373的博客 1455

【Hermes Agent】2026 Hermes Agent 最新入门级实战指南:从原理、部署、模型配置到落地 Demo

当下 Vibe Coding、AI 自动化时代,单纯对话大模型已经没有竞争力,

十年老程序猿,AI 疯狂研究专家,前沿硬核知识分享 248

【动态导通电阻】GaN HEMT动态导通电阻的精确测量

2023年7月,瑞士洛桑联邦理工学院的Hongkeng Zhu和Elison Matioli在《IEEE Transactions on Power Electronics》期刊发表文章,提出了一种稳态测量方法,用于研究氮化镓(GaN)高电子迁移率晶体管(HEMT)的动态导通电阻(Ron)。实验结果显示,商业GaN器件在稳态下的动态Ron变化显著,稳定时间可达数分钟且与电压相关。传统的脉冲测量方法由于测试时间不足,可能导致结果不准确。该

荷塘阅色 1379

数据结构 - 栈 与 队列 - (java)

本篇介绍栈和队列,了解栈有顺序栈和链式栈,队列底层是双链表实现的,单链表也可以实现队列,栈和队列的相互实现和循环队列;

m0_69119792的博客 1029

uniapp+coze制作app智能体

使用 UniApp 配合 Coze 平台来开发一个具备 AI 智能体的 App,是一个高效且实用的选择。其核心思路主要有两种:一种是通过,另一种则是通过实现更自主的集成。下面的流程图可以帮你快速了解这两种方案的全貌。下面,我们来详细看看这两种方案分别如何操作。

suny8的专栏 573

【Java】代码随想录栈和队列第十天| LeetCode232 用栈实现队列、LeetCode225 用队列实现栈

今日任务:理论基础232.用栈实现队列225. 用队列实现栈。

weixin_43562105的博客 1069

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Java中的栈和队列操作,相互实现(力扣 232, 225)

Java中的栈和队列操作,相互实现(力扣 232, 225)

yavlgloss的博客 585

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Java实现 LeetCode 232 用栈实现队列

232. 用栈实现队列 使用栈实现队列的下列操作: push(x) – 将一个元素放入队列的尾部。 pop() – 从队列首...

Marcus 3367

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

力扣232:用栈实现队列【java语言实现】

一个元素:可以看到:队列中弹出的元素是1,栈中弹出的元素是4;不管我们怎么操作用一个栈实现队列的功能是不可能的【首先我们要意识到这个问题】,一个不行,那就用。此时,我们能直接执行while()循环的逻辑【栈不为空,把栈2中的元素添加到栈1中去】吗?根据题目要求:要用栈实现队列中的相关方法,收先要明确栈和队列的相关特性。此时,我们就会发现队列弹出元素1时,栈1也可以弹出元素1,我们先创建两个栈【我们采用力扣给我们提供的模板:在构造方法中创建两个栈】先让数字1,2,3,4分别依次。

m0_74132709的博客 1174

LeetCode 232 用栈实现队列 - Java 实现

用栈实现队列 - 力扣(LeetCode):请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty):实现MyQueueint pop()int peek()truefalse说明:你使用标准的栈操作 —— 也就是只有,,size, 和is empty操作是合法的。你所使用的语言也许不支持栈。你可以使用list或者deque(双端队列)来模拟一个栈,只要是标准的栈操作即可。.........

零一魔法 485

#力扣 LeetCode232. 用栈实现队列 #在所有 Java 提交中击败了 100.00% 的用户 @FDDLC

题目描述: https://leetcode-cn.com/problems/implement-queue-using-stacks/ Java代码: import java.util.Stack; class MyQueue { private Stack<Integer> main,assist; public MyQueue() { main=new Stack<>(); assist=new Stack&lt.

LiuXingchang的博客 375

【简单】力扣算法题解析LeetCode232:用栈实现队列

本文介绍如何用两个栈实现队列功能,支持push、pop、peek和empty操作。通过inStack和outStack分工协作,push操作直接压入inStack,而pop和peek操作在outStack为空时将inStack元素倒序转移,确保队列的FIFO特性。

ylumwd的博客 998

LeetCode 232: 用栈实现队列

【代码】LeetCode 232: 用栈实现队列。

Edward的博客 353

Leetcode 232. 用栈实现队列 JAVA实现

本人整理出的两种方法,都是用两个栈实现队列。 用栈实现队列法一法二 法一 入队要用到栈一s1,s2; 出队只需用到栈一s1。 //该方法主要处理的是入栈操作。入队前,将s2作为中间容器,将s1的数据全部倒入s2,在将元素入队,最后将元素倒回s1 //因为此时s1保持了先进先出的特性,所以出队是直接从s1的栈顶出栈 import java.util.Stack; class MyQueue { p...

weixin_40426972的博客 227

力扣232.用栈实现队列(Java实现)

栈是先进后出的数据结构,队列是先进先出的数据结构。如果想用栈实现队列,我们需要使用两个栈实现。

Wood_Like的博客 661

leetcode 232.用栈实现队列 JAVA

leetcode 232.用栈实现队列 JAVA

weixin_44028403的博客 514

JAVA Leetcode232. 用栈实现队列

232. 用栈实现队列 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/implement-queue-using-stacks 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 题目 请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty): 实现 MyQueue 类: void push(int x) 将元素 x 推到队列的末尾 int pop() 从队列的开头移除并返

努力推石头的西西弗斯 280

力扣232 用栈实现队列 Java版本

请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(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, siz

m0_47066863的博客 563
上一篇: leetcode844. 比较含退格的字符串(java)
下一篇: leetcode1046. 最后一块石头的重量(Java)
inferno devil
博客等级 码龄9年 54粉丝 172原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值