seq = input()
cnt_left = cnt_right = 0
left_add = right_add = 0
for c in seq:
if c == '[':
cnt_left += 1
else:
cnt_right += 1
if cnt_right > cnt_left:
cnt_left = cnt_right = 0
left_add += 1
cnt_left = cnt_right = 0
for c in seq[::-1]:
if c == '[':
cnt_left += 1
else:
cnt_right += 1
if cnt_right < cnt_left:
cnt_left = cnt_right = 0
right_add += 1
print('['*left_add + seq + ']'*right_add)
计算不匹配的左括号数量和右括号数量,输出时补上;
括号匹配的过程中,左右括号地位是对称的,所以正向遍历一次,反向遍历一次即可求出不匹配的左右括号数量


京公网安备 11010502036488号