Python实现栈及其示例

StackImple.py

class Stack(object):
    def __init__(self):
        self.stackList = []

    def push(self, item):
        self.stackList.append(item)

    def peek(self):
        return stackList[len(self.stackList)-1]

    def isEmpty(self):
        return len(self.stackList) == 0

    def pop(self):
        return self.stackList.pop()

    def size(self):
        return len(self.stackList)

    def printStack(self):
        return repr(self.stackList)

symbolMatchTest.py(判断括号是否匹配)

from StackImple import Stack


def symbolMatch(symbolStr):

    s = Stack()
    print(s.printStack())
    balanced = True
    i = 0
    while i < len(symbolStr) and balanced:
        strItem = symbolStr[i]
        if strItem == '(':
            s.push(strItem)
        else:
            if s.isEmpty():
                balanced = False
            else:
                s.pop()
        i=i+1

    if balanced and s.isEmpty():
        return True
    else:
        return False


def main():
    print(symbolMatch('(()()(()'))
    print(symbolMatch('((())'))
    print(symbolMatch('())(()))'))
    print(symbolMatch('(()())'))


if __name__ == '__main__':
    main()

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • python的re模块--细说正则表达式 可能是东半球最详细最全面的re教程,翻译自官方文档,因为官方文档写的是真...
    立而人阅读 23,013评论 4 46
  • Python 面向对象Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对...
    顺毛阅读 4,250评论 4 16
  • 〇、前言 本文共108张图,流量党请慎重! 历时1个半月,我把自己学习Python基础知识的框架详细梳理了一遍。 ...
    Raxxie阅读 19,084评论 17 410
  • re模块手册 本模块提供了和Perl里的正则表达式类似的功能,不关是正则表达式本身还是被搜索的字符串,都可以...
    喜欢吃栗子阅读 4,057评论 0 13
  • (一)、启动服务器 (二)、创建数据库表 或 更改数据库表或字段 Django 1.7.1及以上 用以下命令 1....
    夏天夏星阅读 5,731评论 0 17