title: Minimum swaps to create an alternating binary string of ones and zeros
body: <p>Given a binary string, that is it contains only 0s and 1s (number of zeros equals the number of ones)  We need to make this string a sequence of alternate characters by <strong>swapping</strong> some of the bits, our goal is to minimize the number swaps.</p>
  
  <p>For example, for the string "00011011" the minimum number of swaps is 2, one way to do it is: </p>
  
  <p>1) swap the bits :                       0001<strong>10</strong>11 --->> 0001<strong>01</strong>11</p>
  
  <p>2) swap the bits(after the first swap) : 0<strong>0</strong>0101<strong>1</strong>1 --->> 0<strong>1</strong>0101<strong>0</strong>1</p>
  
  <p>Note that if we are given the string "00101011" we can turn it into an alternate string starting with 0 (that requires 3 swaps) and also into alternate string starting with 1 ( that requires one swap - the first and the last bits ).<br>
  So the minimum in this case is one swap.</p>
  
  <p>The end goal is to return the minimum number of swaps for a given string of ones and zeros.
  What is the most efficient way to solve it?</p>