921. Minimum Add to Make Parentheses Valid - cocoder39/coco39_LC GitHub Wiki
921. Minimum Add to Make Parentheses Valid
Option 1: stack
class Solution:
def minAddToMakeValid(self, s: str) -> int:
stack = []
for ch in s:
if ch == '(':
stack.append(ch)
elif ch == ')':
if stack and stack[-1] == '(':
stack.pop()
else:
stack.append(ch)
return len(stack)
Option 2: get rid of stack
class Solution:
def minAddToMakeValid(self, s: str) -> int:
left, right = 0, 0
for ch in s:
if ch == '(':
left += 1
elif ch == ')':
if left > 0:
left -= 1
else:
right += 1
return left + right