Düz olmayan bir tamsayı listesi verildiğinde, her bir yuvalama düzeyindeki tam sayıları içeren, en az yuvalanmış düzeyden başlayarak, soldan sağa doğru okunduğunda giriş listesindeki orijinal sıradaki değerlerle değerleri içeren bir liste listesi verin. Giriş listesinde iki veya daha fazla liste aynı yuva düzeyinde ise, çıktıda tek bir listede birleştirilmelidir. Çıktı boş listeler içermemelidir - yalnızca listeleri içeren yuvalama seviyeleri tamamen atlanmalıdır.
Tam sayıların hepsinin (dahil) aralıkta olduğunu varsayabilirsiniz [-100, 100]
. Listeler için maksimum uzunluk veya yuva derinliği yoktur. Girişte boş listeler olmayacak - her yerleştirme seviyesi en az bir tam sayı veya liste içerecektir.
Giriş ve çıkış, kendi dilinizde / array / enumerable / iterable / etc içerisinde olmalıdır. eğer dilinizde bir sıralama tipi yoksa, ya da herhangi bir makul, açık formatta.
Örnekler
[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~{}&