Given a matrix A
, return the transpose of A
.
The transpose of a matrix is the matrix flipped over it‘s main diagonal, switching the row and column indices of the matrix.
Example 1:
Input: [[1,2,3],[4,5,6],[7,8,9]]
Output: [[1,4,7],[2,5,8],[3,6,9]]
Example 2:
Input: [[1,2,3],[4,5,6]]
Output: [[1,4],[2,5],[3,6]]
Note:
1 <= A.length <= 1000
1 <= A[0].length <= 1000
Idea 1. Transpose, M * N -> N * M, A[i][j] -> result[j][i], copy directly
Time complexity: O(M*N)
Space complexity: O(M*N)
1 class Solution { 2 public int[][] transpose(int[][] A) { 3 int m = A.length; 4 int n = A[0].length; 5 int[][] result = new int[n][m]; 6 7 for(int i = 0; i < m; ++i) { 8 for(int j = 0; j < n; ++j) { 9 result[j][i] = A[i][j]; 10 } 11 } 12 13 return result; 14 } 15 }
原文:https://www.cnblogs.com/taste-it-own-it-love-it/p/10809465.html