美文网首页
如何优雅的判断字符串中的括号是否完整

如何优雅的判断字符串中的括号是否完整

作者: 秸秆混凝烧结工程师 | 来源:发表于2022-01-19 10:47 被阅读0次

    看例子,这里维护了一个栈,当遇到左括号我们入栈,当遇到右括号我们出栈。

    image.png

    '''
    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 not arr
    

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

    '''

    相关文章

      网友评论

          本文标题:如何优雅的判断字符串中的括号是否完整

          本文链接:https://www.haomeiwen.com/subject/hqlrhrtx.html