ให้ลิสต์ของจำนวนเต็มแบบไม่แบนเอาท์พุทลิสต์ของรายการที่มีจำนวนเต็มในแต่ละระดับการซ้อนเริ่มต้นด้วยระดับที่ซ้อนกันน้อยที่สุดโดยมีค่าตามลำดับดั้งเดิมในรายการอินพุตเมื่ออ่านจากซ้ายไปขวา หากรายการสองรายการขึ้นไปอยู่ในระดับการซ้อนเดียวกันในรายการอินพุตรายการเหล่านั้นควรรวมกันเป็นรายการเดียวในเอาต์พุต เอาต์พุตไม่ควรมีรายการว่างใด ๆ - ระดับการซ้อนที่มีเฉพาะรายการควรถูกข้ามทั้งหมด
คุณอาจจะคิดว่าเลขที่มีทั้งหมดใน (รวม) [-100, 100]
ช่วง ไม่มีความยาวสูงสุดหรือความลึกการซ้อนสำหรับรายการ จะไม่มีรายการว่างในอินพุต - ทุกระดับการซ้อนจะมีจำนวนเต็มหรือรายการอย่างน้อยหนึ่งรายการ
อินพุตและเอาต์พุตต้องอยู่ในรายการ / อาร์เรย์ / enumerable / iterable / etc ในภาษาของคุณ รูปแบบหรือในรูปแบบที่สมเหตุสมผลและชัดเจนใด ๆ หากภาษาของคุณไม่มีประเภทของลำดับ
ตัวอย่าง
[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~{}&