先沿右上到左下的对角线翻转图像,再沿着中间那行为对称轴交换元素
问题链接:https://leetcode-cn.com/problems/rotate-image/description/
以下是代码:
public void rotate(int[][] matrix) {
int len=matrix.length;
//先沿对角线交换
for(int i=0;i<len;i++){
for(int j=0;j<len-1-i;j++){
int temp;
temp=matrix[i][j];
matrix[i][j]=matrix[len-1-j][len-1-i];
matrix[len-1-j][len-1-i]=temp;
}
}
//以中间那行为对称轴,交换上下元素
for (int i=0;i<(int)len/2;i++){
for(int j=0;j<len;j++){
int temp;
temp = matrix[i][j];
matrix[i][j]=matrix[len-1-i][j];
matrix[len-1-i][j]=temp;
}
}
}