0921. Minimum Add to Make Parentheses Valid #
题目 #
- 只有满足下面几点之一,括号字符串才是有效的:
- 它是一个空字符串,或者
- 它可以被写成
AB
(A
与B
连接), 其中A
和B
都是有效字符串,或者 - 它可以被写作
(A)
,其中A
是有效字符串。
- 给定一个括号字符串
s
,在每一次操作中,你都可以在字符串的任何位置插入一个括号- 例如,如果
s = "()))"
,你可以插入一个开始括号为"(()))"
或结束括号为"())))"
。
- 例如,如果
- 返回 为使结果字符串
s
有效而必须添加的最少括号数。
思路 #
模拟 #
代码 #
模拟 #
class Solution {
public int minAddToMakeValid(String s) {
int left = 0, ans = 0;
for (int i = 0; i <s.length(); i++) {
if (s.charAt(i) == '(') left++;
else {
if (left == 0) ans++;
else left--;
}
}
return ans + left;
}
}