1963. 使字符串平衡的最小交换次数
题目链接:1963. 使字符串平衡的最小交换次数
代码如下:
cpp
class Solution {
public:
int minSwaps(string s) {
int res = 0,c=0;
int j = s.size() - 1;
for (char b : s) {
if (b == '[') {
c++;
}
else if (c > 0) {
c--;
}
else {
//找最右边的左括号交换
while (s[j] == 'j') {
j--;
}
s[j] = ']';// s[i] = '[' 可以省略
res++;
c++;// s[i] 变成左括号,c 加一
}
}
return res;
}
};