Algorithm
Problem Name: 867. Transpose Matrix
Given a 2D integer array matrix
, return the transpose of matrix
.
The transpose of a matrix is the matrix flipped over its main diagonal, switching the matrix's row and column indices.
Example 1:
Input: matrix = [[1,2,3],[4,5,6],[7,8,9]] Output: [[1,4,7],[2,5,8],[3,6,9]]
Example 2:
Input: matrix = [[1,2,3],[4,5,6]] Output: [[1,4],[2,5],[3,6]]
Constraints:
m == matrix.length
n == matrix[i].length
1 <= m, n <= 1000
1 <= m * n <= 105
-109 <= matrix[i][j] <= 109
Code Examples
#1 Code Example with Java Programming
Code -
Java Programming
class Solution {
public int[][] transpose(int[][] matrix) {
int rows = matrix.length;
int cols = matrix[0].length;
int[][] result = new int[cols][rows];
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
result[j][i] = matrix[i][j];
}
}
return result;
}
}
Copy The Code &
Try With Live Editor
Input
Output
#2 Code Example with Python Programming
Code -
Python Programming
class Solution:
def transpose(self, A):
return [[A[i][j] for i in range(len(A))] for j in range(len(A[0]))]
Copy The Code &
Try With Live Editor
Input
Output
#3 Code Example with C# Programming
Code -
C# Programming
namespace LeetCode
{
public class _0867_TransposeMatrix
{
public int[][] Transpose(int[][] A)
{
var row = A.Length;
var col = A[0].Length;
var result = new int[col][];
for (int i = 0; i < row; i++)
for (int j = 0; j < col; j++)
{
if (i == 0)
result[j] = new int[row];
result[j][i] = A[i][j];
}
return result;
}
}
}
Copy The Code &
Try With Live Editor
Input
Output