题目:
输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。
思路:
矩阵是列表的嵌套。
① 打印矩阵第一行,并且删除
② 将整个矩阵逆时针旋转90°
③ 重复步骤一,直到矩阵为空
代码:
class Solution:
def spiralOrder(self, matrix: List[List[int]]) -> List[int]:
def rotate(matrix):
row=len(matrix)
col=len(matrix[0])
new_matrix=[]
for i in range(col):#原matrix的列数等于旋转后matrix的行数
new_line=[]
for j in range(row):
new_line.append(matrix[j][col-1-i])
new_matrix.append(new_line)
return new_matrix
res=[]
while matrix:
res+=matrix.pop(0)
if matrix:
matrix=rotate(matrix)
return res
错误代码和上述代码仅有两处差别,def rotate(self,matrix):
和matrix=self.rotate(matrix)
报错【solution object has no attribute rotate】