Given a string?S
?of?‘(‘
?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:
AB
?(A
?concatenated with?B
), where?A
?and?B
?are valid strings, or(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:
Input: "())"
Output: 1
Example 2:
Input: "((("
Output: 3
Example 3:
Input: "()"
Output: 0
Example 4:
Input: "()))(("
Output: 4
Note:
S.length <= 1000
S
?only consists of?‘(‘
?and?‘)‘
?characters.
Github 同步地址:
https://github.com/grandyang/leetcode/issues/CHANGE_ME
类似题目:
参考资料:
https://leetcode.com/problems/minimum-add-to-make-parentheses-valid/
LeetCode All in One 题目讲解汇总(持续更新中...)
[LeetCode] 921. Minimum Add to Make Parentheses Valid 使括号有效的最少添加
原文:https://www.cnblogs.com/grandyang/p/11769067.html