You are given an n x n 2D
matrix representing an image.
Rotate the image by 90
degrees
(clockwise).
分析:实现题。注意交换元素时坐标计算
public class Solution {
/**
* @param matrix: A list of lists of integers
* @return: Void
*/
public void rotate(int[][] matrix) {
int size = matrix.length;
if(size == 0) return;
for(int i = 0; i < size / 2; i ++) {
for(int j = i; j < size - i - 1; j++) {
int tmp = matrix[i][j];
matrix[i][j] = matrix[j][size - 1 - i];
matrix[j][size - 1 - i] = tmp;
tmp = matrix[i][j];
matrix[i][j] = matrix[size - 1 - i][size - 1 - j];
matrix[size - 1 - i][size - 1 - j] = tmp;
tmp = matrix[i][j];
matrix[i][j] = matrix[size - 1 - j][i];
matrix[size - 1 - j][i] = tmp;
}
}
}
}