题目: 旋转图像
来自智得网
分析
因为交换过程中需要存储一些被交换位置的值。
最简单的方法是记录这个矩阵完整的值,然后计算每个位置的数据在旋转之后的新位置,然后将该数据放到新位置即可。
题解
public class Solution{
public void solute(int[][] matrix) {
int n = matrix.length;
for (int row = 0; row < n / 2; row++) {
for (int col = 0; col < (n + 1) / 2; col++) {
int tmp = matrix[row][col];
matrix[row][col] = matrix[n - col - 1][row];
matrix[n - col - 1][row] = matrix[n - row - 1][n - col - 1];
matrix[n - row - 1][n - col - 1] = matrix[col][n - row - 1];
matrix[col][n - row - 1] = tmp;
}
}
}
}