【Python题目】括号匹配

2020-08-23  本文已影响0人  Julia语言

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

  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)
上一篇下一篇

猜你喜欢

热点阅读