Diberikan daftar bilangan bulat yang tidak rata, mengeluarkan daftar daftar yang berisi bilangan bulat di setiap tingkat bersarang, dimulai dengan tingkat paling tidak-bertingkat, dengan nilai-nilai dalam urutan aslinya dalam daftar input saat dibaca dari kiri ke kanan. Jika dua atau lebih daftar berada pada level bersarang yang sama dalam daftar input, mereka harus digabungkan menjadi satu daftar di output. Output tidak boleh berisi daftar kosong apa pun - level bersarang yang hanya berisi daftar harus dilewati seluruhnya.
Anda dapat mengasumsikan bahwa bilangan bulat semuanya berada dalam kisaran (inklusif) [-100, 100]
. Tidak ada panjang maksimal atau kedalaman bersarang untuk daftar. Tidak akan ada daftar kosong di input - setiap tingkat bersarang akan mengandung setidaknya satu bilangan bulat atau daftar.
Input dan output harus dalam daftar / array / enumerable / iterable / etc asli bahasa Anda. format, atau dalam format wajar, tidak ambigu jika bahasa Anda tidak memiliki jenis urutan.
Contohnya
[1, 2, [3, [4, 5], 6, [7, [8], 9]]] => [[1, 2], [3, 6], [4, 5, 7, 9], [8]]
[3, 1, [12, [14, [18], 2], 1], [[4]], 5] => [[3, 1, 5], [12, 1], [14, 2, 4], [18]]
[2, 1, [[5]], 6] => [[2, 1, 6], [5]]
[[54, [43, 76, [[[-19]]]], 20], 12] => [[12], [54, 20], [43, 76], [-19]]
[[[50]], [[50]]] => [[50, 50]]
Cases[#,_?AtomQ,{i}]~Table~{i,Depth@#}~DeleteCases~{}&