首先要有数学逻辑,这种提
每次只取第一行数据,然后再把矩阵逆时针旋转90度
1.不过要注意用extend和append的区别, append是只能一个值一个值,extend可以一次entend进去一个list
2.矩阵转置有三种方法,
- 可以用 numpy.transpose() ,但是出来的值是 ndarray类型,ndarray类型和list类型之间可以相互转换
B = A.tolist()和 A = np.array(B) - 可以用 list(zip(*matrix))
- 使用python表达式 B = [[A[[j][i] for j in range(len(A))] for i in range(len(A[0]))] B = [[A[j][i] for j in range(len(A))] for i in range(len(A[0]))]
class Solution: # matrix类型为二维列表,需要返回列表 def printMatrix(self, matrix): # write code here res = [] while matrix: res.extend(matrix.pop(0)) matrix = list(zip(*matrix))[::-1] return res