初级编程通关练习题 #1 – 矩阵回形遍历

给定一个NxN二维数组,返回从最外层元素到中间元素顺时针排列的数组元素,如下图所示。

2D array traversal

上面这个5×5的矩阵,按照回形遍历的方法得到的结果为:1,2,3,4,5,10,15,20,25,24,23,22,21,16,11,6,7,8,9,14,19,18,17,12,13。

输入样例:

array = [[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12],
[13, 14, 15, 16]]

输出样例:

[1, 2, 3, 4, 8, 12, 16, 15, 14, 13, 9, 5, 6, 7, 11, 10]

算法思路:

  • 首先读取矩阵里的第一个数组
  • 然后把它删去
  • 接下来逆时针旋转矩阵90度
  • 然后再读取调整后矩阵里的第一个数组
  • 重复上面的操作直到矩阵为空。