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

力扣 LeetCode 232. 用栈实现队列(Day5:栈与队列)

解题思路:

使用一个辅助栈,两个栈可以模拟队列

pop()时使用stackOut,stackOut为空时,需要把所有的stackIn中的元素放入

class MyQueue {
    Stack<Integer> stackIn;
    Stack<Integer> stackOut;

    public MyQueue() {
        stackIn = new Stack<>();
        stackOut = new Stack<>();
    }

    public void push(int x) {
        stackIn.push(x);
    }

    public int pop() {
        if (stackOut.isEmpty()) {
            while (!stackIn.isEmpty()) stackOut.push(stackIn.pop());
        }
        return stackOut.pop();
    }

    public int peek() {
        int tmp = this.pop();
        stackOut.push(tmp);
        return tmp;
    }

    public boolean empty() {
        if (stackIn.isEmpty() && stackOut.isEmpty()) return true;
        return false;
    }
}


http://www.kler.cn/a/396473.html

相关文章:

  • Spring Boot 启动时自动配置 RabbitMQ 交换机、队列和绑定关系
  • docker与大模型(口语化原理和实操讲解)
  • 哈佛商业评论 | 未来商业的技术趋势:百度李彦宏谈技术如何变革商业
  • 【数据结构】线性表——栈与队列
  • 11.13机器学习_线性回归
  • 第9章 DIV+CSS布局
  • STM32F4 RTC实时时钟STM32 Cube实例
  • 掌握ECMAScript模块化:构建高效JavaScript应用
  • React Native 全栈开发实战班 - 状态管理入门(Context API)
  • Element plus使用menu时候如何在折叠时候隐藏掉组件自带的小箭头
  • vscode中执行git合并操作需要输入合并commit信息,打开的nano小型文本编辑器说明-
  • Queuing 表(buffer表)的优化实践 | OceanBase 性能优化实践
  • 1.两数之和-力扣(LeetCode)
  • DNS批量解析管理软件有什么用
  • Odoo :一款免费开源的日化行业ERP管理系统
  • windows下git和TortoiseGit(小乌龟)和putty安装配置对github进行操作
  • 操作系统实验:在linux下用c语言模拟进程调度算法程序
  • Vue.js组件数据共享的轻量级解决方案:Provide/Inject
  • 开源三代示波器的高速波形刷新方案开源,支持VNC远程桌面,手机,Pad,电脑均可访问(2024-11-11)
  • Java21和Java8性能优化详细对比
  • ESP-IDF运行export.sh时遇到“${ZSH_VERSION}“附近有错误
  • 从0开始学PHP面向对象内容之(常用魔术方法续二)
  • awk(常用)
  • 现代电商解决方案:Spring Boot框架实践
  • IIoT(Industrial Internet of Things,工业物联网)
  • Ubuntu24.04安装和配置Redis7.4