1758. Minimum Changes To Make Alternating Binary String #
题目 #
- 给你一个仅由字符
'0'
和'1'
组成的字符串s
。一步操作中,你可以将任一'0'
变成'1'
,或者将'1'
变成'0'
。 - 交替字符串 定义为:如果字符串中不存在相邻两个字符相等的情况,那么该字符串就是交替字符串。例如,字符串
"010"
是交替字符串,而字符串"0100"
不是。 - 返回使
s
变成 交替字符串 所需的 最少 操作数。
思路 #
模拟 #
代码 #
模拟 #
class Solution {
public int minOperations(String s) {
char[] arr = s.toCharArray();
int zeroStart = 0, oneStart = 0;
for (int i = 0; i < arr.length; i++) {
switch (i % 2) {
case 0:
if (arr[i] != '0') zeroStart += 1;
if (arr[i] != '1') oneStart += 1;
break;
case 1:
if (arr[i] != '1') zeroStart += 1;
if (arr[i] != '0') oneStart += 1;
}
}
return Math.min(zeroStart, oneStart);
}
}