路径的长度即为矩阵中的元素数量,当路径的长度达到矩阵中的元素数量时即为完整路径,将该路径返回。
循环打印: “从左向右、从上向下、从右向左、从下向上” 四个方向循环打印。
class Solution:def spiralOrder(self, matrix: List[List[int]]) -> List[int]:if not matrix or not matrix[0]:return []r,c = len(matrix),len(matrix[0])res=[]left,right,top,bottom = 0,c-1,0,r-1while left<=right and top<=bottom:for i in range(left,right+1):res.append(matrix[top][i])for j in range(top+1,bottom+1):res.append(matrix[j][right])if left<right and top<bottom:for i in range(right-1,left,-1):res.append(matrix[bottom][i])for j in range(bottom,top,-1):res.append(matrix[j][left])left,right,top,bottom=left+1,right-1,top+1,bottom-1return res