首页 > 其他 > 详细

括号字符串是否匹配正确

时间:2019-08-21 20:25:54      阅读:96      评论:0      收藏:0      [点我收藏+]
# 符号表
SYMBOLS = {‘}‘: ‘{‘, ‘]‘: ‘[‘, ‘)‘: ‘(‘, ‘>‘: ‘<‘}
SYMBOLS_L, SYMBOLS_R = SYMBOLS.values(), SYMBOLS.keys()

def check(s):
    arr = []
    for c in s:
        if c in SYMBOLS_L:
            # 左符号入栈
            arr.append(c)
        elif c in SYMBOLS_R:
            # 右符号要么出栈,要么匹配失败
            if arr and arr[-1] == SYMBOLS[c]:
                arr.pop()
            else:
                return False

    return True

print(check("3 * {3 +[(2 -3) * (4+5)]}"))
print(check("3 * {3+ [4 - 6}]"))

  

括号字符串是否匹配正确

原文:https://www.cnblogs.com/ivyharding/p/11390646.html

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