## Question

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 <= 10`

^{5}`-10`

^{9}<= matrix[i][j] <= 10^{9}

## Python Solution

class Solution: def transpose(self, A: List[List[int]]) -> List[List[int]]: B = [[0]*len(A) for _ in range(len(A[0]))] for i in range((len(A))): for j in range((len(A[0]))): B[j][i] = A[i][j] return(B)