题目:顺时针打印矩阵(算法课第四课)
对于一个矩阵,请设计一个算法从左上角(mat[0][0]
)开始,顺时针打印矩阵元素。
给定int矩阵mat,请返回一个数组,数组中的元素为矩阵元素的顺时针输出。
举例
输入矩阵:
1 | 1 2 3 4 |
则输出为:
1 | 1 2 3 4 8 12 16 15 14 13 9 5 6 7 11 10 |
分析
- 考虑要具有宏观性
- 注意矩阵可能退化为一维的“长条”或“棒”
代码
1 | public class PrintMatrixSpiral { |
输出:
1 | 1 2 3 4 8 12 16 15 14 13 9 5 6 7 11 10 |