版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_21275321/article/details/82961397
题目:
Given a matrix A, return the transpose of A.
The transpose of a matrix is the matrix flipped over it’s main
diagonal, switching the row and column indices of the matrix.Example 1:
Input: [[1,2,3],[4,5,6],[7,8,9]] Output: [[1,4,7],[2,5,8],[3,6,9]]
Example 2:Input: [[1,2,3],[4,5,6]] Output: [[1,4],[2,5],[3,6]]
Note:
1 <= A.length <= 1000 1 <= A[0].length <= 1000
解释:
求一个矩阵的转置,用暴力解法即可…
python代码:
class Solution(object):
def transpose(self, A):
"""
:type A: List[List[int]]
:rtype: List[List[int]]
"""
if not A:
return
m=len(A)
n=len(A[0])
result=[ [0 for j in range(m)] for i in range(n)]
for i in range(m):
for j in range(n):
result[j][i]=A[i][j]
return result
c++代码:
class Solution {
public:
vector<vector<int>> transpose(vector<vector<int>>& A) {
int m=A.size();
int n=A[0].size();
//创建一个二维数组并且初始化为0
vector<vector<int>> result(n,vector<int>(m,0));
for(int j=0;j<n;j++)
{
for(int i=0;i<m;i++)
{
result[j][i]=A[i][j];
}
}
return result;
}
};
总结:
学会使用cpp中vector的初始化,vector<int>result(n,0);