java.lang.Object
g0901_1000.s0921_minimum_add_to_make_parentheses_valid.Solution

public class Solution extends java.lang.Object
921 - Minimum Add to Make Parentheses Valid.

Medium

A parentheses string is valid if and only if:

  • It is the empty string,
  • It can be written as AB (A concatenated with B), where A and B are valid strings, or
  • It can be written as (A), where A is a valid string.

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

  • For example, if s = "()))", you can insert an opening parenthesis to be "( **( **)))" or a closing parenthesis to be "())** )** )".

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

Example 1:

Input: s = “())”

Output: 1

Example 2:

Input: s = “(((”

Output: 3

Constraints:

  • 1 <= s.length <= 1000
  • s[i] is either '(' or ')'.
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    int
    minAddToMakeValid(java.lang.String s)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • Solution

      public Solution()
  • Method Details

    • minAddToMakeValid

      public int minAddToMakeValid(java.lang.String s)