细节
编写一个函数或程序,给定一个仅包含整数的数组(或列表),该函数或程序将返回或输出一个反转了所有子元素的数组。也就是说,颠倒最深数组的所有元素,然后颠倒第二个最深的数组,依此类推。不必指定维度,但是函数或程序必须适用于编程语言本机格式的锯齿状数组。
例子
这个:
[[1,2], [3,4]]
会变成这样:
[[4,3], [2,1]]
这个:
[[[ 1, 2, 3], [ 4, 5, 6], [ 7, 8, 9]],
[[10,11,12], [13,14,15], [16,17,18]],
[[19,20,21], [22,23,24], [25,26,27]],
[[28,29,30], [31,32,33], [34,35,36]],
[[37,38,39], [40,41,42], [43,44,45]],
[[46,47,48], [49,50,51], [52,53,54]]]
会变成这样:
[[[54,53,52], [51,50,49], [48,47,46]],
[[45,44,43], [42,41,40], [39,38,37]],
[[36,35,34], [33,32,31], [30,29,28]],
[[27,26,25], [24,23,22], [21,20,19]],
[[18,17,16], [15,14,13], [12,11,10]],
[[ 9, 8, 7], [ 6, 5, 4], [ 3, 2, 1]]]
这个:
[[[1,2]],
[[3,4], [5]],
[[6,7,8], [9], [10,11]],
[[[12,13], [14,15]], [16], [17,18,19,20]],
[21]]
会变成这样:
[[21],
[[20,19,18,17], [16], [[15,14], [13,12]]],
[[11,10], [9], [8,7,6]],
[[5], [4,3]],
[[2,1]]]
奖金
希望这会鼓励一些面向对象的编程语言的答案...
-50%字节数如果您的程序可以将数组(或列表)及其各种类型的成员(这些对象可以是对象的形式)作为输入并成功地反转所有数组。
这个:
[["Foo",["Bar",1]],
2,
["Baz"],
[[["Qux"],3],3.14]]
会变成这样:
[[3.14,[3,["Qux"]]],
["Baz"],
2,
[[1,"Bar"],"Foo"]]