zoukankan      html  css  js  c++  java
  • Python编程题30用列表实现栈

    题目

    栈是一种常见的数据结构,其特点是 先进后出,也就是说最先放进去的元素,需要到最后才能取出来。

    请使用 列表list 模拟实现栈的下列操作:

    • push(x) -- 将元素 x 压入栈顶
    • pop() -- 移除栈顶元素
    • top() -- 获取栈顶元素
    • empty() -- 判断栈是否为空
    • size() -- 获取栈的长度

    说明:假设每次调用 pop 和 top 都能保证栈不为空。

    代码实现

    class MyStack:
    
        def __init__(self):
            self.s = []
    
        def push(self, x):
            self.s.append(x)
    
        def pop(self):
            self.s.pop()
    
        def top(self):
            return self.s[-1]
    
        def empty(self):
            return self.s == []
    
        def size(self):
            return len(self.s)
    

    测试过程

    if __name__ == '__main__':
        stack = MyStack()
        stack.push(11)  # 入栈
        stack.push(22)  # 入栈
        print(stack.top())
        print(stack.size())
        stack.pop()  # 出栈
        print(stack.empty())
        print(stack.top())
        stack.pop()  # 出栈
        print(stack.size())
        print(stack.empty())
    

    执行代码后,得到如下结果:

    22
    2
    False
    11
    0
    True
    

    更多Python编程题,等你来挑战:Python编程题汇总(持续更新中……)

    作者:wintest
    本文版权归作者和博客园共有,欢迎转载,但必须在文章页面明显位置给出原文链接,并保留此段声明,否则保留追究法律责任的权利。
  • 相关阅读:
    LeetCode之“数学”:Rectangle Area
    HTML5 简介、HTML5 浏览器支持
    Android EditText获取焦点和失去焦点监听事件
    HTML 速查列表
    HTML URL
    HTML 字符实体
    HTML 脚本
    HTML 颜色值
    HTML 颜色名
    HTML 颜色
  • 原文地址:https://www.cnblogs.com/wintest/p/15611408.html
Copyright © 2011-2022 走看看