В этой задаче ваша задача состоит в том, чтобы создать программу, которая принимает вложенный массив и возвращает одномерный плоский массив. Например [10,20,[30,[40]],50]
должен выводить [10,20,30,40,50]
.
вход
Входными данными будет вложенный массив (например, [10,20,[[[10]]]]
). Он будет содержать только целые числа (как отрицательные, так и положительные), строки и массивы. Вы можете принять входные данные как аргумент функции, STDIN или любой другой, который подходит вашему языку. Вы можете предположить, что входной массив не будет иметь пустой массив.
Выход
Выходными данными будет плоский одномерный массив с теми же элементами того же типа, что и во вложенном массиве и в том же порядке.
Тестовые случаи
[10,20,30] -> [10,20,30]
[[10]] -> [10]
[["Hi"],[[10]]] -> ["Hi",10]
[[[20],["Hi"],"Hi",20]] -> [20,"Hi","Hi",20]
[[["[]"],"[]"]] -> ["[]","[]"]
Не стесняйтесь просить любые разъяснения, используя комментарии. Это код-гольф , поэтому выигрывает самый короткий код в байтах!
Примечание: если ваш язык содержит встроенный для этого, вы не должны его использовать.
редактировать
Пожалуйста, включите ссылку на сайт, где ваш код может быть выполнен.
unflatten
вопрос, но нет flatten
вопроса о PPCG.
["[",[["[",],'[',"['['"]]
в качестве контрольного примера.
'
и в "
качестве разделителей. (Но я согласен , что тест с участием [
, ]
, "
и \
внутри строки , было бы полезно.)