题目:
给定一个 n × n 的矩阵,求它顺时针旋转 90 度的结果,且必须在原矩阵上修改(in-place)。
怎样能够尽量不创建额外储存空间呢?
思路:
利用一个中间数te
class Solution {
public void rotate(int[][] matrix) {
int n = matrix.length;
for (int i = 0; i < n/2; ++i){
for (int j = 0;j<(n+1)/2; ++j){
int temp = matrix[i][j];
matrix[i][j] = matrix[n-j-1][i];
matrix[n-j-1][i] = matrix[n-i-1][n-j-1];
matrix[n-i-1][n-j-1] = matrix[j][n-i-1];
matrix[j][n-i-1] = temp;
}
}
}
}
mp保存第一个数组的值,然后进行交换覆盖,由外向内最后完成90°翻转。