一批应急物资已经送到,但有个问题。 为了防止损坏,物品(手电筒、急救包、毯子)都被装在箱子里,而其中一些箱子还嵌套在其他箱子里,足足有好几层!
为了应对紧急情况,所有东西都必须放在同一个箱子里,方便随时取用。你能把所有物资都取出来,装进一个箱子,让它们在最需要的时候随手就能拿到吗?
接收一个任意深度的嵌套数组,返回一个完全扁平化后的数组。
注意,某些语言轨道可能会在输入数组中包含类似 null 的值,而这些值的表示方式因轨道而异。 这些值应当从扁平化后的数组中排除。
此外,输入数据的类型可能不同,所包含的类型也可能不同,具体取决于轨道。
详情请查阅测试套件。
输入:[1, [2, 6, null], [[null, [4]], 5]]
输出:[1, 2, 6, 4, 5]
上面的说明与一个共享代码仓库保持同步,以确保所有语言轨道的一致性。 本附录提供额外的说明,或按需修改这些说明,以便更好地契合 Clojure 轨道的目标。
对于 Clojure 轨道中的这道练习,正如测试所表明的那样,你可以假设输入是向量的任意嵌套组合,输出是一个向量。 不过,这并不是严格的要求;你可以自由地假设输入是任意嵌套的顺序性事物(列表、向量等),输出是一个序列。