不是很难的模拟题,想好前后状态的变化就会发现,其实“)”括号才可以抵消之前的“(”括号,反之不行。
class Solution(object): def minAddToMakeValid(self, S): """ :type S: str :rtype: int """ l, r = 0, 0 for i in S: if i == '(': r += 1 elif i == ')': if r > 0: r -= 1 else: l += 1 return r+l
不是很难的模拟题,想好前后状态的变化就会发现,其实“)”括号才可以抵消之前的“(”括号,反之不行。
class Solution(object): def minAddToMakeValid(self, S): """ :type S: str :rtype: int """ l, r = 0, 0 for i in S: if i == '(': r += 1 elif i == ')': if r > 0: r -= 1 else: l += 1 return r+l