美文网首页
【Python题目】括号匹配

【Python题目】括号匹配

作者: Julia语言 | 来源:发表于2020-08-23 23:21 被阅读0次

    现在给你一个只包含括号""的字符串,问你至少加多少个字符是合法的,对于字符串合法的定义为:

    1. 字符串为空是合法的。
    2. 若字符串A合法,则字符串(A), [A] (表示字符串A外层有层小括号或中括号)是合法的。
    3. 若字符串A和字符串B均合法,则AB(AB连接起来)合法。
    s = '](]'
    
    stack_left = []
    count = 0
    for c in s:
        if c in ('(', '['):
            stack_left.append(c)
        else:
            if len(stack_left) == 0:
                count += 1
            else:
                topChar = stack_left[-1]
                if c == ')' and topChar == '[':
                    count += 1
                if c == ']' and topChar == '(':
                    count += 1
                if c == ')' and topChar == '(':
                    stack_left.pop()
                if c == ']' and topChar == '[':
                    stack_left.pop()
    
    
    shuchu = len(stack_left) + count
    print(shuchu)
    

    相关文章

      网友评论

          本文标题:【Python题目】括号匹配

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