返回顶部
首页 > 资讯 > 后端开发 > Python >【leetcode 简单】 第六十三题
  • 413
分享到

【leetcode 简单】 第六十三题

第六十三简单leetcode 2023-01-30 22:01:08 413人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

使用队列实现栈的下列操作: push(x) -- 元素 x 入栈 pop() -- 移除栈顶元素 top() -- 获取栈顶元素 empty() -- 返回栈是否为空 注意: 你只能使用队列的基本操作-- 也就是 push to b

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

  • push(x) -- 元素 x 入栈
  • pop() -- 移除栈顶元素
  • top() -- 获取栈顶元素
  • empty() -- 返回栈是否为空

注意:

  • 你只能使用队列的基本操作-- 也就是 push to back, peek/pop from front, size, 和 is empty 这些操作是合法的。
  • 你所使用的语言也许不支持队列。 你可以使用 list 或者 deque(双端队列)来模拟一个队列 , 只要是标准的队列操作即可。
  • 你可以假设所有操作都是有效的(例如, 对一个空的栈不会调用 pop 或者 top 操作)。
from collections import deque
class MyStack:

    def __init__(self):
        """
        Initialize your data structure here.
        """
        self.stack = deque()
        

    def push(self, x):
        """
        Push element x onto stack.
        :type x: int
        :rtype: void
        """
        self.stack.append(x)
        

    def pop(self):
        """
        Removes the element on top of the stack and returns that element.
        :rtype: int
        """
        return self.stack.pop()

    def top(self):
        """
        Get the top element.
        :rtype: int
        """
        try:
            t = self.pop()
            self.stack.append(t)
            return t
        except IndexError:
            raise IndexError('empty')
        

    def empty(self):
        """
        Returns whether the stack is empty.
        :rtype: bool
        """
        try:
            self.top()
            return False
        except IndexError:
            return True

 

--结束END--

本文标题: 【leetcode 简单】 第六十三题

本文链接: https://lsjlt.com/news/179308.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 【leetcode 简单】 第六十三题
    使用队列实现栈的下列操作: push(x) -- 元素 x 入栈 pop() -- 移除栈顶元素 top() -- 获取栈顶元素 empty() -- 返回栈是否为空 注意: 你只能使用队列的基本操作-- 也就是 push to b...
    99+
    2023-01-30
    第六十三 简单 leetcode
  • 【leetcode 简单】 第六十一题
    给定一个整数数组,判断是否存在重复元素。 如果任何值在数组中出现至少两次,函数返回 true。如果数组中每个元素都不相同,则返回 false。 示例 1: 输入: [1,2,3,1] 输出: true 示例 2: 输入: [1,2,3,...
    99+
    2023-01-30
    第六十一 简单 leetcode
  • 【leetcode 简单】 第六十四题
    翻转一棵二叉树。 示例: 输入: 4 / \ 2 7 / \ / \ 1 3 6 9 输出: 4 / \ 7 2 / \ / \ 9 6 3 1 ...
    99+
    2023-01-30
    第六十四 简单 leetcode
  • 【leetcode 简单】 第六十九题
    请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点。 现有一个链表 -- head = [4,5,1,9],它可以表示为: 4 -> 5 -> 1 -> 9 示例 1: 输...
    99+
    2023-01-30
    第六十九 简单 leetcode
  • 【leetcode 简单】 第六十八题
    给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己...
    99+
    2023-01-30
    第六十八 简单 leetcode
  • 【leetcode 简单】 第六十七题
    请判断一个链表是否为回文链表。 示例 1: 输入: 1->2 输出: false 示例 2: 输入: 1->2->2->1 输出: true 进阶: 你能否用 O(n) 时间复杂度和 O(1) 空间复杂度解决此题...
    99+
    2023-01-30
    第六十七 简单 leetcode
  • 【leetcode 简单】 第六十五题
    给定一个整数n,判断它是否为2的次方幂。 方法:2,4,8都是2的n次幂         任何整数乘以2,都相当于向左移动了一位,而2的0次幂为1,所以2的n次幂就是1向左移动n位。这样,2的幂的特征就是二进制表示只有最高位为1,其他位均...
    99+
    2023-01-30
    第六十五 简单 leetcode
  • 【leetcode 简单】 第八十六题
    给定一个正整数 num,编写一个函数,如果 num 是一个完全平方数,则返回 True,否则返回 False。 注意:不要使用任何内置的库函数,如  sqrt。 示例 1: 输入: 16 输出: True   示例 2: 输入: 14 ...
    99+
    2023-01-30
    简单 第八十六 leetcode
  • 【leetcode 简单】 第五十六题
    编写一个算法来判断一个数是不是“快乐数”。 一个“快乐数”定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,也可能是无限循环但始终变不到 1。如果可以变为 1,那么这个数就是快乐数。...
    99+
    2023-01-30
    第五十六 简单 leetcode
  • 【leetcode 简单】 第八十三题
    编写一个函数,以字符串作为输入,反转该字符串中的元音字母。 示例 1: 输入: "hello" 输出: "holle" 示例 2: 输入: "leetcode" 输出: "leotcede" 说明: 元音字母不包含字母"y"。   c...
    99+
    2023-01-30
    第八十三 简单 leetcode
  • 【leetcode 简单】 第五十九题
    给定两个字符串 s 和 t,判断它们是否是同构的。 如果 s 中的字符可以被替换得到 t ,那么这两个字符串是同构的。 所有出现的字符都必须用另一个字符替换,同时保留字符的顺序。两个字符不能映射到同一个字符上,但字符可以映射自己本身。 ...
    99+
    2023-01-30
    第五十九 简单 leetcode
  • 【leetcode 简单】 第五十八题
    统计所有小于非负整数 n 的质数的数量。 示例: 输入: 10 输出: 4 解释: 小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。 class Solution: def countPrimes(self,...
    99+
    2023-01-30
    第五十八 简单 leetcode
  • 【leetcode 简单】 第八十七题
    不使用运算符 + 和-,计算两整数a 、b之和。 示例: 若 a = 1 ,b = 2,返回 3。 class Solution: def getSum(self, a, b): """ :typ...
    99+
    2023-01-30
    简单 第八十七 leetcode
  • 【leetcode 简单】 第八十五题
    给定两个数组,编写一个函数来计算它们的交集。 示例 1: 输入: nums1 = [1,2,2,1], nums2 = [2,2] 输出: [2,2] 示例 2: 输入: nums1 = [4,9,5], nums2 = [9,4,9,...
    99+
    2023-01-30
    简单 第八十五 leetcode
  • 【leetcode 简单】 第七十一题
    给定一个二叉树,返回所有从根节点到叶子节点的路径。 说明: 叶子节点是指没有子节点的节点。 示例: 输入: 1 / \ 2 3 \ 5 输出: ["1->2->5", "1->3"] 解...
    99+
    2023-01-30
    第七十一 简单 leetcode
  • 【leetcode 简单】 第一百零六题
    给定一组字符,使用原地算法将其压缩。 压缩后的长度必须始终小于或等于原数组长度。 数组的每个元素应该是长度为1 的字符(不是 int 整数类型)。 在完成原地修改输入数组后,返回数组的新长度。   进阶: 你能否仅使用O(1) 空间解决问...
    99+
    2023-01-30
    简单 第一百 leetcode
  • Java面试题冲刺第十六天--消息队列
    目录面试题1:说说你对消息队列的理解,消息队列为了解决什么问题?解耦异步削峰追问1:消息队列有什么优缺点面试题2:对于消息中间机,你们是怎么做技术选型的?面试题3:如何确保消息正确地...
    99+
    2024-04-02
  • Java面试题冲刺第二十六天--实战编程
    目录面试题1:你们是怎样保存用户密码等敏感数据的?面试题2:怎么控制用户请求的幂等性的?1.设置唯一索引:防止新增脏数据2.token机制:防止页面重复提交3.悲观锁4.乐观锁5.分...
    99+
    2024-04-02
  • 从零开始学习 Java:简单易懂的入门指南之线程池(三十六)
    线程池 1.1 线程状态介绍1.2 线程池-基本原理1.3 线程池-Executors默认线程池1.4 线程池-Executors创建指定上限的线程池1.5 线程池-ThreadPoolExe...
    99+
    2023-10-18
    学习 java python spring boot 后端 spring cloud 开发语言
  • Java面试题冲刺第二十六天--实战编程2
    目录面试题2:怎么理解负载均衡的?你处理负载均衡都有哪些途径?1、【协议层】http重定向2、【协议层】DNS轮询3、【协议层】CDN4、【协议层】反向代理负载均衡5、【网络层】IP...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作