题意:给一个字符串,找出把字符串变成合法括号所需的最小数目
思路:遍历字符串
- 如果是做括号,那么left++
- 如果是右括号,如果左括号不为空,做括号--,否则right++
- 如果是其他字符跳过
- 返回right+left
思想:字符串的组合
复杂度:时间O(n),空间O(1)
class Solution {
public int minAddToMakeValid(String S) {
int left = 0;
int right = 0;
int res = 0;
for(int i=0;i<S.length();i++) {
char cur = S.charAt(i);
if(cur == '(') {
left++;
} else if(cur == ')'){
if(left > 0) {
left--;
} else {
right++;
}
}
}
return left + right;
}
}
网友评论