Uns e zeros alternados

Escreva uma função que retorne true se a string binária puder ser reorganizada para formar uma string de 0s e 1s alternados.

Exemplos

canAlternate("0001111") ➞ true
// Pode formar: "1010101"

canAlternate("01001") ➞ true
// Pode formar: "01010"

canAlternate("010001") ➞ false

canAlternate("1111") ➞ false

Observações

  • Nenhuma substring da saída pode conter mais de um caractere repetido consecutivamente (e.g. 00 ou 11 não são permitidos).
  • Retorne false se uma string contiver apenas 0s ou apenas 1s.