首页 > 其他 > 详细

判断括号的合法性

时间:2019-12-17 11:42:40      阅读:105      评论:0      收藏:0      [点我收藏+]

def judge(expression):
        stack = Stack()
        # 把后括号映射成前括号
        dict = {}:{, ]:[, ):(}
        for i in expression:
                if i == [ or i == { or i == (:
                    stack.push(i)

                if i == ] or i == } or i == ):
                        #当遍历到后括号时,发现栈里没有前括号
                        if stack.is_empty():
                                return False

                        #出栈的数据和前面的括号是否对应
                        elif stack.pop() != dict[i]:
                                return False

        #遍历玩表达式后,要再次判断一下栈是否排空了
        if not stack.is_empty():
                return False
        else:
                return True

判断括号的合法性

原文:https://www.cnblogs.com/gaitman/p/12053432.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!