給你一個二維整數陣列 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]]
提示:
m == matrix.length
n == matrix[i].length
1 <= m, n <= 1000
1 <= m * n <= 105
-109 <= matrix[i][j] <= 109
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/transpose-matrix
著作權歸領扣網路所有,商業轉載請聯系官方授權,非商業轉載請注明出處,
解題思路:
思路首先定義轉置陣列大小的矩陣,然后將i, j 位置的數對應轉置的j, i即可,代碼如下:
class Solution {
public:
vector<vector<int>> transpose(vector<vector<int>>& matrix) {
// 定義轉置陣列大小的矩陣
vector<vector<int>> ans(matrix[0].size(), vector<int>(matrix.size(), 0));
// i, j 位置的數對應轉置的j, i
for(int i = 0; i < matrix[0].size(); i ++) {
for(int j = 0; j < matrix.size(); j ++) {
ans[i][j] = matrix[j][i];
}
}
return ans;
}
};
/*作者:heroding
鏈接:https://leetcode-cn.com/problems/transpose-matrix/solution/chang-gui-cjie-fa-by-heroding-qfa2/
來源:力扣(LeetCode)
著作權歸作者所有,商業轉載請聯系作者獲得授權,非商業轉載請注明出處,*/
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/263720.html
標籤:其他
