1. 问题描述:
给定一个矩阵 A, 返回 A 的转置矩阵。矩阵的转置是指将矩阵的主对角线翻转,交换矩阵的行索引与列索引。
示例 1:
输入:[[1,2,3],[4,5,6],[7,8,9]]
输出:[[1,4,7],[2,5,8],[3,6,9]]
示例 2:
输入:[[1,2,3],[4,5,6]]
输出:[[1,4],[2,5],[3,6]]
提示:
1 <= A.length <= 1000
1 <= A[0].length <= 1000
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/transpose-matrix
2. 思路分析:
最简单的方法是声明一个与行数与列数与原来矩阵颠倒的矩阵m,遍历原来的数组将原来数组的位置的值放入m中行数与列数相反的位置中,最后返回这个答案数组即可
3. 代码如下:
from typing import List
class Solution:
def transpose(self, A: List[List[int]]) -> List[List[int]]:
# 先声明一个行数与列数与之对应的矩阵, 然后将数字填进去即可
res = [[0] * len(A) for i in range(len(A[0]))]
for i in range(len(A)):
for j in range(len(A[0])):
res[j][i] = A[i][j]
return res