给定一个非整数的整数列表,请输出一个列表,其中包含每个嵌套级别中的整数(从最小嵌套级别开始),并按从左到右的顺序以原始顺序显示值。如果两个或更多个列表在输入列表中处于同一嵌套级别,则应将它们合并到输出中的单个列表中。输出不应包含任何空列表-仅包含列表的嵌套级别应完全跳过。
您可以假定整数都在(包括)范围内[-100, 100]
。列表没有最大长度或嵌套深度。输入中将没有空列表-每个嵌套级别将至少包含一个整数或列表。
输入和输出必须在您语言的本机列表/数组/可枚举/可迭代/等中。格式,或者如果您的语言缺少序列类型,则采用任何合理,明确的格式。
例子
[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~{}&