LeetCode题库第867题 转置矩阵
LeetCode题库第867题 转置矩阵
我首先想到的方法是新建一个二维的矩阵,然后遍历原来的矩阵,将每一个元素放在新矩阵中该放的位置:
// java
public int[][] transpose(int[][] matrix) {
int lines = matrix.length;
int rows = matrix[0].length;
int[][] new_matrix = new int[rows][lines];
for(int i=0;i<lines;i++){
for(int j=0;j<rows;j++){
new_matrix[j][i]=matrix[i][j];
}
}
return new_matrix;
}
# Python
from typing import List
class Solution:
def transpose(self, matrix: List[List[int]]) -> List[List[int]]:
new_matrix = [[matrix[i][j] for i in range(len(matrix))] for j in range(len(matrix[0]))]
return new_matrix
需要注意的是:
- 新矩阵的行数是原来矩阵的列数,列数是原来矩阵的行数
- 将元素的行数和列数交换之后就是元素的新位置坐标
看了一下官方题解,思路一样!