Minimum Add to Make Parentheses Valid

Given a string Sof'('and')'parentheses, we add the minimum number of parentheses ('('or')', and in any positions ) so that the resulting parentheses string is valid.

Formally, a parentheses string is valid if and only if:

  • It is the empty string, or

  • 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.

Given a parentheses string, return the minimum number of parentheses we must add to make the resulting string valid.

Example 1:

Example 2:

Example 3:

Example 4:

分析

注意这里不能单纯比较()个数,也要比较出场顺序。所以counter是算顺序,)stk是算残余多少的 (

Last updated

Was this helpful?