【Python题目】括号匹配
2020-08-23 本文已影响0人
Julia语言
现在给你一个只包含括号""的字符串,问你至少加多少个字符是合法的,对于字符串合法的定义为:
- 字符串为空是合法的。
- 若字符串A合法,则字符串(A), [A] (表示字符串A外层有层小括号或中括号)是合法的。
- 若字符串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)