LeetCode-867. 转置矩阵

题目

给定一个矩阵 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;
    }
}

你可能感兴趣的:(leetcode,数据结构与算法,LeetCode题解,LeetCode,转置矩阵,LeetCode867)