转置矩阵[leetcode]

题目描述

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

分析

设数组中元素坐标位(x,y),互换x,y位置即可

(x,y) –> (y,x)

所以重新设一个二维数组B

使得B.x=A[0].length

B.y=A.length

贴出代码

class Solution {
    public int[][] transpose(int[][] A) {
        int m = A.length;
        int n = A[0].length;
        int[][] B = new int[n][m];
        for(int i =0;i<n;i++) {
            for(int j = 0;j<m;j++) {
                B[i][j] =A[j][i];
            }
        }
        return B;
    }
}

猜你喜欢

转载自blog.csdn.net/tangzongpi6936/article/details/81784273