!非最优解,仅学习记录
算法思路:
因为转置矩阵不一定为方阵,故新建一个矩阵行列与原矩阵颠倒。
循环按列遍历matrix填入新数组中。
point:
动态二维数组定义初始化
//定义一个r行c列的二维数组,初始化值=0
vector<vector> matrix(r,vector(c,0));
/*
*/
class Solution {
public:
vector<vector<int>> transpose(vector<vector<int>>& matrix) {
int r=matrix.size(),c=matrix[0].size();
vector<vector<int>> newm(c,vector<int>(r,0));
for(int i=0;i<c;i++){
for(int j=0;j<r;j++){
//matrix按列遍历,newm按行存结果
int num=matrix[j][i];
newm[i][j]=num;
}
}
return newm;
}
};