難度 中等
實際上這道題算是比較簡單的,關(guān)鍵在于題目要求不占用額外空間。開始以為是指不新增任何變量,想了好一會沒想出來解決方案,于是硬著頭皮上我認(rèn)為空間度最小的方法,結(jié)果通過了,時間空間都是100。不占用額外空間原來是指空間復(fù)雜度o(1)就可以了。
public void rotate(int[][] matrix) {
for(int i = 0; i < matrix.length; i++){
for(int j = i; j >= 0; j--){
if(i != j){
int temp = matrix[i][j];
matrix[i][j] = matrix[j][i];
matrix[j][i] = temp;
}
}
}
for(int i = 0; i < matrix.length; i++){
for(int j = 0; j < matrix.length/2; j++){
int temp = matrix[i][j];
matrix[i][j] = matrix[i][matrix.length-1-j];
matrix[i][matrix.length-1-j] = temp;
}
}
}