Oj上刷到过到简单题没有多想直接 新建了一个数组 按列遍历便草草结束了这道题。
但很明显,时间复杂度和空间复杂度都偏高
后来在leetcode上要求原地就又思考了一遍。
/**
* 1、只遍历上三角
* 2、沿着对角线交换
*/
for (int i = 0; i < matrix.length; i++) {
for (int j = i; j < matrix[0].length; j++) {
if(i!=j) {
int temp = matrix[i][j];
matrix[i][j] = matrix[j][i];
matrix[j][i] = temp;
}
}
}
这样只需要遍历上三角 或者 下三角矩阵即可时间复杂度下降一半 , 原数组即可无需新数组