Unos y ceros alternados

Escribe una función que devuelva true si la cadena binaria se puede reorganizar para formar una cadena de 0s y 1s alternados.

Ejemplos

canAlternate("0001111") ➞ true
// Se puede formar: "1010101"

canAlternate("01001") ➞ true
// Se puede formar: "01010"

canAlternate("010001") ➞ false

canAlternate("1111") ➞ false

Notas

  • Ninguna subcadena de la salida puede contener más de un carácter repetido consecutivamente (e.g. 00 o 11 no están permitidos).
  • Devuelve false si una cadena solo contiene 0s o solo contiene 1s.