Minimum Number of Swaps to Make the Binary String Alternating LeetCode solution in JavaScript

1
var minSwaps = function (s) {
2
let ones = 0;
3
let zeroes = 0;
4

5
for (let c of s) {
6
if (c === "1") ones++;
7
else zeroes++;
8
}
9

10
if (Math.abs(ones - zeroes) > 1) return -1;
11

12
function count(i) {
13
let res = 0;
14
for (let c of s) {
15
if (i !== c) res++;
16
if (i === "1") i = "0";
17
else i = "1";
18
}
19

20
return res / 2;
21
}
22

23
if (ones > zeroes) return count("1");
24
if (zeroes > ones) return count("0");
25

26
return Math.min(count("1"), count("0"));
27
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0