题解 | 括号配对问题
括号配对问题
https://www.nowcoder.com/practice/57260c08eaa44feababd05b328b897d7
import sys
import re
def replacement(string:str):
if string == ')':
return '('
elif string == ']':
return '['
for line in sys.stdin:
stack = []
a = line.split()
res = re.sub(r'[^\[\]\(\)]','',a[0])
# print(res)
flag = True
for i in res:
if len(stack) == 0:
if i == '[':
stack.append(i)
continue
elif i == '(':
stack.append(i)
continue
else:
flag = False
break
if replacement(i) ==stack[-1]:
stack.pop()
elif i == '[' or i == '(':
stack.append(i)
else:
flag = False
break
if flag:
print('true')
else:
print('false')
