<题目描述>
给定一个由 ‘(’ 和 ‘)’ 括号组成的字符串 S,我们需要添加最少的括号( ‘(’ 或是 ‘)’,可以在任何位置),以使得到的括号字符串有效。
<原题链接>
https://leetcode-cn.com/problems/minimum-add-to-make-parentheses-valid/
<理明思路>
对字符串S进行遍历,另外使用一个list来储存不成对括号个数(也就是左括号个数),而无法匹配到左括号的右括号个数直接记录在ans变量中。最终ans数值与list中括号个数值之和即为需要补充的括号个数。
<样例代码>
class Solution:
def minAddToMakeValid(self, S):
"""
:type S: str
:rtype: int
"""
ans = 0
com_arr = []
for i in S:
if i=='(':
com_arr.append(i)
elif i==')':
if len(com_arr)==0:
ans += 1
else:
com_arr.pop()
ans += len(com_arr)
return ans