LeetCode刷题-54. 螺旋矩阵
题目链接:54. 螺旋矩阵
¶题解:
又是旋转相关的模拟题!
¶题目简述:
给定一个矩阵,按照右下左上的顺序进行遍历!
¶题解:
枚举 n * m
个点,按照右下左上的顺序循环进行,如螺旋般,一个方向走到头,换下一个方向!
-
使用
0,1,2,3
分别表示四个方向,走到头就换一下方向,即d = (d + 1) % 4
-
使用
dx
和dy
数组表示四个方向坐标的变化。
如果,坐标越界(第一次访问该方向),或者已经访问过的位置(不是第一次访问该方向),就要换到当前方向的下一个方向,同时更新当前坐标。即a < 0 || a >= n || b < 0 || b >= m || vis[a][b]
注意:数组为空的判断!
¶AC代码:
1 |
|
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 小牛博客!
评论