classSolution:deftranspose(self, A: List[List[int]])-> List[List[int]]:
B =[]for i inrange(len(A[0])):
B.append([0]*len(A))for i inrange(len(A)):for j inrange(len(A[0])):
B[j][i]= A[i][j]return B
# 执行用时 :72 ms, 在所有 Python3 提交中击败了96.18%的用户# 内存消耗 :13.5 MB, 在所有 Python3 提交中击败了96.88%的用户
算法说明: 用for循环生成一个和 A 的转置矩阵一样大小的矩阵 B,用 0 填充,len(A[0])是求出 B 的列数,len(A)是求出 A 的行数;然后将 A 中的元素,按照行列坐标交换的原则赋值给 B,即用B[j][i] = A[i][j]将A[i][j]赋值给B[j][i]。输出 B 矩阵。
代码2:
classSolution:deftranspose(self, A: List[List[int]])-> List[List[int]]:
s =[]for i inrange(len(A[0])):
s.append([])for j inrange(len(A)):
s[i].append(A[j][i])return s
# 执行用时 :68 ms, 在所有 Python3 提交中击败了98.47%的用户# 内存消耗 :13.9 MB, 在所有 Python3 提交中击败了5.21%的用户