文章目录
1. 题目描述
给定一个m x n大小的矩阵(m行,n列),按螺旋的顺序返回矩阵中的所有元素。
2. 程序示例
- 示例1
输入:[[1,2,3],[4,5,6],[7,8,9]]
输出:[1,2,3,6,9,8,7,4,5]
- 示例2
输入:[[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]]
输出:[1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10]
3. 代码实例
- 方法一
# @param matrix int整型二维数组
# @return int整型一维数组
#
class Solution:
def spiralOrder(self , matrix ):
# write code here
if not matrix:
return []
m = len(matrix) # 行
n = len(matrix[0]) # 列
i,j = 0,-1
ans = 1
res = []
while m > 0 and n > 0:
for _ in range(n): # 只需关心执行次数 执行n次 ①
j += ans*1
res.append(matrix[i][j])
for _ in range