Generar cadenas diferentes

La función recibe una cadena compuesta por letras y dígitos. Cada letra de la cadena se puede cambiar a minúscula y mayúscula; los dígitos permanecen en sus posiciones. Genera todas las cadenas posibles y devuélvelas como un array.

Ejemplos

genStrings("1A2") ➞ ["1A2", "1a2"]

genStrings("a1B") ➞ ["A1B", "A1b", "a1B", "a1b"]

genStrings("1a2bC3") ➞ ["1A2Bc3", "1a2Bc3", "1a2bC3", "1a2bc3", "1A2bC3", "1A2BC3", "1a2BC3", "1A2bc3"]

genStrings("1") ➞ ["1"]

genStrings("") ➞ [""]

Notas

Devuelve el Array ordenado.