「每日LeetCode」2021年3月26日

本文最后更新于:2023年3月19日 晚上

Lt867. 转置矩阵

867. 转置矩阵

给你一个二维整数数组 matrix,  返回 matrix转置矩阵
矩阵的 转置 是指将矩阵的主对角线翻转,交换矩阵的行索引与列索引。

示例 1:

1
2
输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]
输出:[[1,4,7],[2,5,8],[3,6,9]]

示例 2:

1
2
输入:matrix = [[1,2,3],[4,5,6]]
输出:[[1,4],[2,5],[3,6]]

提示:

  • m == matrix.length
  • n == matrix[i].length
  • 1 <= m, n <= 1000
  • 1 <= m * n <= 10
  • -10 <= matrix[i][j] <= 10

思路

简历结果矩阵,双重遍历赋值即可,注意构建矩阵时长度的问题,可能不是正方形。

解答

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/**
* @param {number[][]} matrix
* @return {number[][]}
*/
var transpose = function (matrix) {
const res = [...Array(matrix[0].length)].map((x) =>
Array(matrix.length).fill(0)
);
for (let i = 0; i < matrix.length; i++) {
for (let j = 0; j < matrix[i].length; j++) {
res[j][i] = matrix[i][j];
}
}
return res;
};