## 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 &

Input

cmd
matrix = [[1,2,3],[4,5,6],[7,8,9]]

Output

cmd
[[1,4,7],[2,5,8],[3,6,9]]

### #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 &

Input

cmd
matrix = [[1,2,3],[4,5,6],[7,8,9]]

Output

cmd
[[1,4,7],[2,5,8],[3,6,9]]

### #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 &

Input

cmd
matrix = [[1,2,3],[4,5,6],[7,8,9]]

Output

cmd
[[1,4,7],[2,5,8],[3,6,9]]