題目描述:
給定一個(gè)矩陣 A性置, 返回 A 的轉(zhuǎn)置矩陣渐裂。
矩陣的轉(zhuǎn)置是指將矩陣的主對(duì)角線翻轉(zhuǎn)阳液,交換矩陣的行索引與列索引繁疤。
示例 1:
輸入:[[1,2,3],[4,5,6],[7,8,9]]
輸出:[[1,4,7],[2,5,8],[3,6,9]]
示例 2:
輸入:[[1,2,3],[4,5,6]]
輸出:[[1,4],[2,5],[3,6]]
提示:
1 <= A.length <= 1000
1 <= A[0].length <= 1000
思路:
創(chuàng)建一個(gè)新的矩陣B咖为,來放轉(zhuǎn)置后的值。要注意二維數(shù)組的用法稠腊。
代碼:(C++)
class Solution {
public:
vector<vector<int>> transpose(vector<vector<int>>& A) {
vector<vector<int>> B(A[0].size()); //B的行數(shù)=A的列數(shù)
for(int n=0;n<A[0].size();n++)
{
B[n]=vector<int>(A.size());
}
int j=0;
while(j<A[0].size())
{
for(int i=0;i<A.size();i++)
{
B[j][i]=A[i][j];
}
j++;
}
return B;
}
};
提交結(jié)果: