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

LeetCode[232]用栈实现队列

思路:

一道很简单的题,就是栈是先进后出,队列是先进先出,用两个栈底相互对着,这样一个队列就产生了,右栈为空的情况,左栈栈底就是队首元素,所以我们需要将左栈全部压入右栈,右栈不为空,那么右栈就是之前压入过,这时右栈栈顶元素就是队首元素,大家画画图应该就明白了

class MyQueue {Stack<Integer> left;Stack<Integer> right;public MyQueue() {left = new Stack<>();right = new Stack<>();}public void push(int x) {left.push(x);}public int pop() {if (right.isEmpty()) {while (!left.isEmpty()) {right.push(left.pop());}}return right.pop();}public int peek() {if (right.isEmpty()) {while (!left.isEmpty()) {right.push(left.pop());}}return right.peek();}public boolean empty() {return left.isEmpty() && right.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();*/

 

相关文章:

  • Android学习之实战登录注册能力
  • 分布自定义shell脚本(详写)附带全代码
  • 【OC】AVPlayerLayer的学习
  • 深入解析主流数据库体系架构:从关系型到云原生
  • 从malloc到free:动态内存管理全解析
  • 【某比特币网址请求头部sign签名】RSA加密逆向分析
  • 在 Linux 上部署 .NET Core 应用并配置为开机自动启动
  • select、poll、epoll实现多路复用IO并对比差异
  • 家庭电脑隐身后台自动截屏软件,可远程查看
  • 十倍开发效率 - IDEA插件之 Maven Helper
  • QT常见输入类控件及其属性
  • SpringCloud小白入门+项目搭建
  • 秒杀抢购系统架构与优化全解:从业务特性到技术落地
  • 软考高级系统架构设计师-第13章 软件可靠性基础知识
  • 32-工艺品商城小程序
  • Redis 事件循环(Event Loop)
  • 无法右键下载文档?网页PDF下载方法大全
  • Opencv图像处理:模板匹配对象
  • 基于docker-java封装的工具类
  • Spring Boot 集成Poi-tl实现动态Word文档生成
  • 消费维权周报丨上周合同纠纷类投诉多,合同未到期关闭门店等
  • “棉花糖爸爸”陈生梨:女儿将落户到贵州纳雍
  • 人民日报头版:各地扎实开展学习教育,一体推进学查改
  • 菲律宾群岛地区发生5.6级地震,震源深度20千米
  • 男子拍摄女性视频后在网上配发诱导他人违法犯罪文字,已被警方行拘
  • “85后”雷海军已任新疆维吾尔自治区统计局局长