题目要求
问题描述:顺时针旋转打印n阶矩阵
样例输入:4
1 2 3 4
12 13 14 5
11 16 15 6
10 9 8 7
样例输出:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
解决方案
首先确立按圈打印的思想,先打印最外圈,再打印靠里的那一圈,以此类推。打印时将旋转遍历分解为四个动作:从左到右,从上到下,从右到左,从下到上。每打印一圈,都用对角两个元素为标记,引导循环时候的方向走势,打印完一圈,然后再向内收缩打印下一圈。
源码示例 & 结果展示
小结
本题也可以写成尾递归的形式,不过本质是一样的,就是一圈一圈地打印,并且将打印动作拆分为四个方向的延伸。