#因为有顺序左括号在前,所以先统计左括号,有多少左括号对应需要多少右括号
#遇到右括号可以减少需要的右括号,如果需要得右括号小于0,必须在前面插入左括号
def minAddToMakeValid(self, s):
"""
:type s: str
:rtype: int
"""
need = 0 #记录需要多少个右括号
res = 0 #记录需要多少个左括号
for i in s:
if i == "(":
need += 1
if i == ")":
need -= 1
if need < 0: #右大于左得时候需要插入左括号
res += 1
need = 0 #重置
return res + need