给你一个m行n列的矩阵matrix,请按照顺时针螺旋顺序,返回矩阵中的所有元素。
方法:模拟
class Solution(object): def generateList(self,x,y,m,n,matrix): L=[] # x,y for i in range(n-1): L.append(matrix[x][y+i]) # x,y+n-1 for i in range(m-1): L.append(matrix[x+i][y+n-1]) # x+m-1,y+n-1 for i in range(n-1): L.append(matrix[x+m-1][y+n-1-i]) # x+m-1,y for i in range(m-1): L.append(matrix[x+m-1-i][y]) return L def spiralOrder(self, matrix): result=[] m=len(matrix) n=len(matrix[0]) x,y=0,0 while m>1 and n>1: result.extend(self.generateList(x,y,m,n,matrix)) m-=2 n-=2 x+=1 y+=1 if m == 1: for j in range(n): result.append(matrix[x][y + j]) elif n == 1: for i in range(m): result.append(matrix[x + i][y]) return result