题目
给定一个矩阵 A, 返回 A 的转置矩阵。
矩阵的转置是指将矩阵的主对角线翻转,交换矩阵的行索引与列索引。
示例 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
算法
1)获取原数组行列
2)新建数组,行即原数组的列,列即原数组的行
3)循环写入
class Solution
{
public:
vector<vector<int>> transpose(vector<vector<int>>& A)
{
int row = A.size(); // 行数
int col = A[0].size(); // 列数
vector<vector<int>> temp(col, vector<int>(row, 0));
for(int i = 0; i < row; i++)
{
for(int j = 0; j < col; j++)
{
temp[j][i] = A[i][j]; // 行列交换
}
}
return temp;
}
};