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

LeetCode-02

225. 用队列实现栈

225

  • 用两个队列实现栈的功能,思路如下:
    1. 往空队列中放新元素
    2. 把非空队列中的元素依次放入刚才添加了新元素的队列,直到非空队列变为空队列
class MyStack(object):def __init__(self):self.queue1 = []self.queue2 = []def push(self, x):""":type x: int:rtype: None"""if not self.queue1:self.queue1.append(x)while self.queue2:self.queue1.append(self.queue2.pop(0))else:self.queue2.append(x)while self.queue1:self.queue2.append(self.queue1.pop(0))def pop(self):""":rtype: int"""if self.queue1:return self.queue1.pop(0)elif self.queue2:return self.queue2.pop(0)else:return Nonedef top(self):""":rtype: int"""# 返回列表的第一个元素但不出队if self.queue1:return self.queue1[0]elif self.queue2:return self.queue2[0]else:return Nonedef empty(self):""":rtype: bool"""return not self.queue1 and not self.queue2

\

232. 用栈实现队列


232

  • 用栈实现队列,思路如下:
    1. 将两个栈分别称入队栈和出队栈
    2. 当出队栈存在内容的时候,出队栈的栈顶即为第一个出队的元素
    3. 若出堆栈没有元素,而需求为出栈,我们就需要把入队栈的内容放入出队栈,然后再从出堆栈取栈顶
 class MyQueue(object):def __init__(self):self.stack1 = []self.stack2 = []def push(self, x):self.stack1.append(x)def pop(self):if not self.stack2:while self.stack1:self.stack2.append(self.stack1.pop())return self.stack2.pop()def peek(self):if not self.stack2:while self.stack1:self.stack2.append(self.stack1.pop())return self.stack2[-1]def empty(self):return not self.stack1 and not self.stack2
http://www.lryc.cn/news/311280.html

相关文章:

  • 瑞_Redis_Redis的Java客户端
  • Cmake的使用
  • linux系统ELK组件介绍
  • 回归预测 | Matlab实现BiTCN基于双向时间卷积网络的数据回归预测
  • Tailscale中继服务derper使用docker-compose部署
  • Spring Cloud 实战系列之 Zuul 微服务网关搭建及配置
  • 【数据结构】队列
  • 学习JAVA的第十三天(基础)
  • C++--机器人的运动范围
  • 深度学习API——keras初学
  • Web APIs知识点讲解(阶段二)
  • 多平台拼音输入法软件的开发
  • Flutter学习7 - Dart 泛型
  • Git 基本操作 ⼯作区、暂存区、版本库
  • 利用Vue3的新API(customRef)实现防抖效果
  • 【Linux】在 Ubuntu 系统下使用 Screen 运行 Python 脚本
  • jxls——自定义命令设置动态行高
  • 前端面试练习24.3.2-3.3
  • 优先级队列(Java )
  • 大宋咨询如何进行汽车门店6S标准现场检查
  • 仿牛客网项目---点赞模块的实现
  • 【AI视野·今日CV 计算机视觉论文速览 第300期】Fri, 1 Mar 2024
  • 【单片机学习的准备】
  • 力扣hot100:438.找到字符串中所有字母异位词
  • Kali Linux 2024.1
  • springboot启动加载
  • 基于Java的智能停车场管理系统(Vue.js+SpringBoot)
  • ESD Clamp cell是什么?
  • 费率电能表
  • 2张图2秒钟3D重建!这款AI工具火爆GitHub,网友:忘掉Sora