题目
给定一个矩阵 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
解答
这题解题思路很简单, 行列互换的话, 就新建一个新的二元数组, 数组长度行列互换, 然后对新的数组进行初始化即可, 每个元素的值, 都等于原数组行列互换的值, 即newArr[i][j]=oldArr[j][i], 实现代码如下 :
class Solution {
// 行列互换即可
public int[][] transpose(int[][] A) {
int cols = A.length;
int rows = A[0].length;
int[][] newArr = new int[rows][cols];
for(int i = 0; i < rows; i++){
newArr[i] = new int[cols];
for(int j = 0; j < cols; j++){
newArr[i][j] = A[j][i];
}
}
return newArr;
}
}