示例 1: 输入:matrix = [[1,2,3],[4,5,6],[7,8,9]] 输出:[1,2,3,6,9,8,7,4,5] 解释:按螺旋顺序遍历矩阵得到 [1,2,3,6,9,8,7,4,5]。
时间: 2023-10-26 11:08:56 浏览: 39
好的,我明白了。对于你的问题,这是一个经典的矩阵螺旋遍历问题。一种实现方式是按照如下顺序遍历矩阵:首先遍历矩阵的第一行,然后遍历到最后一列,最后遍历到最后一行的倒数第二个元素,再绕回到第一列的第二个元素,以此类推,形成一个螺旋状的遍历顺序。我将针对示例给出一个Python实现:
```
class Solution:
def spiralOrder(self, matrix: List[List[int]]) -> List[int]:
if not matrix:
return []
res = []
row_begin, row_end = 0, len(matrix) - 1
col_begin, col_end = 0, len(matrix[0]) - 1
while row_begin <= row_end and col_begin <= col_end:
for i in range(col_begin, col_end + 1):
res.append(matrix[row_begin][i])
row_begin += 1
for i in range(row_begin, row_end + 1):
res.append(matrix[i][col_end])
col_end -= 1
if row_begin <= row_end:
for i in range(col_end, col_begin - 1, -1):
res.append(matrix[row_end][i])
row_end -= 1
if col_begin <= col_end:
for i in range(row_end, row_begin - 1, -1):
res.append(matrix[i][col_begin])
col_begin += 1
return res
```
希望对你有所帮助。