<題目描述>
給定一個由 ‘(’ 和 ‘)’ 括号組成的字元串 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