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

can_alternate("0001111") ➞ True
# Se puede formar: "1010101"

can_alternate("01001") ➞ True
# Se puede formar: "01010"

can_alternate("010001") ➞ False

can_alternate("1111") ➞ False

Notas

  • Ninguna subcadena de la salida puede contener más de un carácter repetido consecutivamente (e.g. No se permiten 00 ni 11).
  • Devuelve False si una cadena solo contiene 0s o solo contiene 1s.