给定一个矩阵 A, 返回 A 的转置矩阵。矩阵的转置是指将矩阵的主对角线翻转,交换矩阵的行索引与列索引。(本题出自leetcode第867题)
示例 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]]
解法:矩阵转置的思想:将原数组的行转化为列,原数组的列转化为行。通过i,j控制行和列,所以新建一个数组newA,原数组为A,只需要遍历原素组,newA[j][i] = A[i][j]。
class Solution {
public int[][] transpose(int[][] A) {
int m = A.length;
int n = A[0].length;
int[][] newA = new int[n][m];
for(int i = 0;i<m;i++){
for(int j = 0;j<n;j++){
newA[j][i] = A[i][j];
}
}
return newA;
}
}