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
Related Topics
思路
解法
py
from typing import List
# leetcode submit region begin(Prohibit modification and deletion)
class Solution:
def transpose(self, matrix: List[List[int]]) -> List[List[int]]:
row = len(matrix)
col = len(matrix[0])
res = [[0 for _ in range(row)] for _ in range(col)]
for i in range(row):
for j in range(col):
res[j][i] = matrix[i][j]
return res
# leetcode submit region end(Prohibit modification and deletion)
复杂度分析
- 时间复杂度O(M * N) M = ROW, N = COL
- 空间复杂度O(1), 返回值不计入复杂度