У цьому виклику ваше завдання - створити програму, яка займає вкладений масив і повертає одновимірний сплющений масив. Для прикладу [10,20,[30,[40]],50]
слід вивести [10,20,30,40,50]
.
Вхідні дані
Вхід буде вкладеним масивом (напр. [10,20,[[[10]]]]
). Він буде містити лише цілі числа (як негативні, так і позитивні), рядки та масиви. Ви можете взяти введення як аргумент функції, STDIN або що завгодно відповідно до вашої мови. Можна припустити, що вхідний масив не матиме порожній масив.
Вихідні дані
Виведенням буде плоский одновимірний масив з тими ж елементами того ж типу, що і в вкладеному масиві та в порядку SAME.
Випробування
[10,20,30] -> [10,20,30]
[[10]] -> [10]
[["Hi"],[[10]]] -> ["Hi",10]
[[[20],["Hi"],"Hi",20]] -> [20,"Hi","Hi",20]
[[["[]"],"[]"]] -> ["[]","[]"]
Не соромтеся запитувати будь-які роз’яснення, використовуючи коментарі. Це код-гольф , тому найкоротший код у байтах виграє!
Примітка: Якщо ваша мова містить вбудований для цього, ви її НЕ повинні використовувати.
Редагувати
Будь ласка, додайте посилання на веб-сайт, на якому ваш код може бути виконаний.
unflatten
але flatten
питання не виникало.
["[",[["[",],'[',"['['"]]
, тестовий випадок.
'
і "
як роздільники. (Але я згоден , що тест з участю [
, ]
, "
і \
всередині рядка , було б корисно.)