方法1:如果不了解矩阵的时候,不知道A[i][j]=A[j][i],可以这么做
class Solution {
public int[][] transpose(int[][] A) {
//放在一维数组,然后再放入二维
if(A.length==0||A[0].length==0){
return A;
}
int[] temp=new int[A.length*A[0].length];
int [][] res=new int[A[0].length][A.length];
int l=0;
for(int i=0;i<A.length;i++){
for(int j=0;j<A[0].length;j++){
temp[l++]=A[i][j];
}
}
int h=0;
for(int k=0;k<A.length;k++){
for(int m=0;m<A[0].length;m++){
res[m][k]=temp[h++];
}
}
return res;
}
}
方法2:就是用公式,没什么好说的
class Solution {
public int[][] transpose(int[][] A) {
int m=A.length;
int n=A[0].length;
int [][] res=new int[n][m];
for(int i=0;i<m;i++){
for(int j=0;j<n;j++){
res[j][i]=A[i][j];
}
}
return res;
}
}