54. Spiral Matrix
Given a matrix of m x n elements (m rows, n columns), return all elements of the matrix in spiral order.
For example,
Given the following matrix:
[
[ 1, 2, 3 ],
[ 4, 5, 6 ],
[ 7, 8, 9 ]
]
You should return [1,2,3,6,9,8,7,4,5].
题意:
给定一个m×n元素的矩阵(m行,n列),以螺旋顺序返回矩阵的所有元素(螺旋是顺时针方向)。
思路:
方法一:
分四个不同的方向分别读取数组的值,重点是控制横坐标和纵坐标的变化,但是使用一个标记矩阵来记录已经访问过的元素。
1 | class Solution { |
方法二:
也是分四个不同的方向分别读取数组的值,但是此方法控制横坐标和纵坐标的变化非常精细,可以省去标记矩阵来记录已经访问过的元素,完成螺旋的遍历,思路比方法一清晰,更好实现,代码简洁。
1 | class Solution { |
Java Code
1 | class Solution { |