← All problems

921. Minimum Add to Make Parentheses Valid

MediumOpen on LeetCodeProblem statement

Problem Statement

921. Minimum Add to Make Parentheses Valid

Medium


A parentheses string is valid if and only if:

You are given a parentheses string s. In one move, you can insert a parenthesis at any position of the string.

Return the minimum number of moves required to make s valid.

 

Example 1:

Input: s = "())"
Output: 1

Example 2:

Input: s = "((("
Output: 3

 

Constraints:

Java

Source file
class Solution {
    public int minAddToMakeValid(String s) {
        int n = s.length(), lt = 0, rt = 0, ct = 0;
        char[] cs = s.toCharArray();
        for(; rt<n; rt++){
            cs[lt] = cs[rt];
            if(lt>0 && cs[rt]==')' && cs[lt-1]=='(')
                lt--;
            else lt++;
        }
        return lt;
    }
}