转置矩阵
class Solution {
public int[][] transpose(int[][] A) {
if(A.length==0) return A;
int row = A.length;
int col = A[0].length;
if(row==col){
for(int i=0;i<row;i++){
for(int j=i+1;j<col;j++){
int tmp = A[i][j];
A[i][j] = A[j][i];
A[j][i] = tmp;
}
}
return A;
}
int[][] res = new int[col][row];
for(int i=0;i<row;i++){
for(int j=0;j<col;j++){
res[j][i] = A[i][j];
}
}
return res;
}
}
其实不用这样分成两种情况,直接第二种就能满足所有。
class Solution {
public int[][] transpose(int[][] A) {
if(A.length==0) return A;
int row = A.length;
int col = A[0].length;
int[][] res = new int[col][row];
for(int i=0;i<row;i++){
for(int j=0;j<col;j++){
res[j][i] = A[i][j];
}
}
return res;
}
}
唉,脱裤子放屁,多此一举了。