Minimum Changes To Make Alternating Binary String

easy string counter

Problem

Given a binary string s, return the minimum number of character flips so the string is alternating (no two adjacent equal).

Inputs = "0100"
Output1
Flip the last char to get "0101".

def min_operations(s):
    cnt = sum(1 for i, c in enumerate(s) if int(c) != i % 2)
    return min(cnt, len(s) - cnt)
function minOperations(s) {
  let cnt = 0;
  for (let i = 0; i < s.length; i++) if ((+s[i]) !== i % 2) cnt++;
  return Math.min(cnt, s.length - cnt);
}
class Solution {
    public int minOperations(String s) {
        int cnt = 0;
        for (int i = 0; i < s.length(); i++) if (s.charAt(i) - '0' != i % 2) cnt++;
        return Math.min(cnt, s.length() - cnt);
    }
}
int minOperations(string s) {
    int cnt = 0;
    for (int i = 0; i < (int)s.size(); i++) if (s[i] - '0' != i % 2) cnt++;
    return min(cnt, (int)s.size() - cnt);
}
Time: O(n) Space: O(1)