题目:转置矩阵
给定一个矩阵 A, 返回 A 的转置矩阵。
矩阵的转置是指将矩阵的主对角线翻转,交换矩阵的行索引与列索引。
复制代码
示例:
输入:[[1,2,3],[4,5,6],[7,8,9]]
输出:[[1,4,7],[2,5,8],[3,6,9]]
输入:[[1,2,3],[4,5,6]]
输出:[[1,4],[2,5],[3,6]]
复制代码
思考:
一个m*n的矩阵,按题目的要求转置后会变成n*m的矩阵。
按照题意,转置规则就是第[m][n]个元素与第[n][m]个元素贾环交换。
所以新new一个二维数组,将就数组中的第[m][n]个元素赋值到新数组第[n][m]个元素位置上即可。
复制代码
实现:
class Solution {
public int[][] transpose(int[][] A) {
int row = A.length, col = A[0].length;
int[][] result = new int[col][row];
for (int m = 0; m < row; ++m)
for (int n = 0; n < col; ++n) {
result[n][m] = A[m][n];
}
return result;
}
}复制代码