En este desafío, su tarea es crear un programa que tome una matriz anidada y devuelva una matriz plana unidimensional. Por ejemplo [10,20,[30,[40]],50]
debería salir [10,20,30,40,50]
.
Entrada
La entrada será una matriz anidada (p. Ej. [10,20,[[[10]]]]
). Contendrá solo números enteros (negativos y positivos), cadenas y matrices. Puede tomar la entrada como argumento de función, STDIN o lo que se adapte a su idioma. Puede suponer que la matriz de entrada no tendrá una matriz vacía.
Salida
La salida será una matriz unidimensional plana con los mismos elementos del mismo tipo que en la matriz anidada y en el MISMO orden.
Casos de prueba
[10,20,30] -> [10,20,30]
[[10]] -> [10]
[["Hi"],[[10]]] -> ["Hi",10]
[[[20],["Hi"],"Hi",20]] -> [20,"Hi","Hi",20]
[[["[]"],"[]"]] -> ["[]","[]"]
No dude en solicitar cualquier aclaración mediante el uso de comentarios. Este es el código de golf , por lo que gana el código más corto en bytes.
Nota: Si su idioma contiene una función incorporada para esto, NO debe usarlo.
Editar
Incluya también un enlace a un sitio web donde se pueda ejecutar su código.
unflatten
pregunta pero ninguna flatten
pregunta sobre PPCG.
["[",[["[",],'[',"['['"]]
como caso de prueba.
'
y "
como delimitadores. (Pero estoy de acuerdo que involucra a un caso de prueba [
, ]
, "
y \
dentro de una cadena sería útil.)