【LeetCode练习】[中等]48. 旋转图像
48. 旋转图像
题目来源 算法思想:二维数组
题目: 思路:首先转置,然后 j 列与 n-1-j 列交换,即完成90度顺时针旋转
[1 2 3]------------ [1 4 7]------------ [7 4 1] [4 5 6]—转置— [2 5 8]—交换— [8 5 2] [7 8 9]------------ [3 6 9]------------ [9 6 3]
java代码
class Solution {
public void rotate(int[][] matrix
) {
int n
= matrix
.length
;
for(int i
= 0; i
< n
; i
++){
for(int j
= i
; j
< n
; j
++){
int tmp
= matrix
[i
][j
];
matrix
[i
][j
] = matrix
[j
][i
];
matrix
[j
][i
] = tmp
;
}
}
for(int i
= 0; i
< n
; i
++){
for(int j
= 0; j
< n
/2; j
++){
int tmp
= matrix
[i
][j
];
matrix
[i
][j
] = matrix
[i
][n
-1-j
];
matrix
[i
][n
-1-j
] = tmp
;
}
}
}
}