__**Examples:__

Input: s = "111000"

Output: 1

Input: s = "010"

Output: 0

/* Here we simply need to check the below 4 cases:

1.if(no of 0s > no of 1s)

all odd position should be 0 if not count++;

2.if(no of 0s < no of 1s)

all odd position should be 1 if not count++;

3.if(Math.abs(0s-1s)>1)

return -1;// alternating not possible

4.if(both are equal in no)

return minimum of(both the arrangements);*/

`class Solution {

public int count(char f, String s){

int temp=0;

for(int i=0;i<s.length();i+=2){

if(s.charAt(i)==f) temp++;

}

return temp;

}

public int minSwaps(String s) {

int z=0,o=0;

for(int i=0;i<s.length();i++){

if(s.charAt(i)=='0')

z++;

else o++;

}

if(z-o==1){

return z-count('0',s);

}

else if(o-z==1){

return o-count('1',s);

}

else if(o-z==0)

return Math.min(count('1',s),count('0',s));

else return -1;

}

}`

## Top comments (0)