代码
class Solution {
public:
vector<vector<int>> transpose(vector<vector<int>>& matrix) {
int n = matrix.size(),m= matrix[0].size();
vector<vector<int>> transposed(m,vector<int>(n));
for(int i = 0 ;i<n;i++){
for(int j = 0;j<m;j++){
transposed[j][i]=matrix[i][j];
}
}
return transposed;
}
};
第二行
vector<vector<int>> transposed(m,vector<int>(n));
解释:
函数接收两个参数,一个m,一个包含n个整数的向量
表示二维向量vector<vector<int>>
每个元素都为整数型
transposed函数名称
m为矩阵的行数,n为矩阵的列数
这是一个包含n个整数的向量参数,列数vector<int>(n)
相当于创建一个新的矩阵transposed,行数为m,列数为n
思路:
因为矩阵不能使用matric[i][j]=matric[j][i]
所以采用创建一个新矩阵,将各个元素赋值的形式
具体操作用正常的循环即可