Rotate Matrix
https://app.laicode.io/app/problem/125?plan=3
这种比较generate,从边上一直到中间,看看怎么rotate
public void rotate(int[][] matrix) {
// assumptions: matrix is not null and has size of N * N, N >= 0
int n = matrix.length;
if (n <= 1){
return;
}
int round = n / 2;
for (int level = 0; level < round; level++) { // 对每个level进行处理
int left = level;
int right = n - 2 - level;
for (int i = left; i <= right; i++) { //对该层的每个点进行处理
int temp = matrix[left][i];
matrix[left][i] = matrix[n - 1 - i][left];
matrix[n - 1 - i][left] = matrix[n - 1 - left][n - 1 - i];
matrix[n - 1 - left][n - 1 - i] = matrix[i][n - 1 - left];
matrix[i][n - 1 - left] = temp;
}
}
}
Last updated