题目概述
链接: link
给你一个二维整数数组 matrix, 返回 matrix 的 转置矩阵 。
矩阵的 转置 是指将矩阵的主对角线翻转,交换矩阵的行索引与列索引。
示例
示例 1:
输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]
输出:[[1,4,7],[2,5,8],[3,6,9]]
示例 2:
输入:matrix = [[1,2,3],[4,5,6]]
输出:[[1,4],[2,5],[3,6]]
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/transpose-matrix
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
方法
对于行列相等的矩阵,可以使用双循环直接进行转置,对于行列不相等的矩阵,只有将行列翻转然后初始化一个vector的数组进行存储。
代码
class Solution {
public:
vector<vector<int>> transpose(vector<vector<int>>& matrix) {
int m = matrix.size(), n = matrix[0].size();
vector<vector<int>> t(n, vector<int>(m));
for(int i = 0;i<m;i++)
{
for(int j = 0;j<n;j++)
{
t[j][i] = matrix[i][j];
}
}
return t;
}
};
结果
思考
明天开始中等题