问题描述:给定一个n*n的二维矩阵matrix表示一个图像,请你将图像按栓失真旋转90度,你必须原地旋转图像,这意味着你需要直接修改输入的二维矩阵,请不要使用另一个矩阵来旋转图像。
求解思路:这题让的是把矩阵按顺时针旋转90度,最简答的一种方式就是先上下关于中心线反转,然后再对角线反转。
public void traverseImage(int [][] matrix)
{
for(int i=0;i<matrix.length/2;i++)
{
int temp=0;
for(int j=0;j<matrix[i].length;i++)
{
temp=matrix[i][j];
matrix[i][j]=matrix[matrix.length-1-i][j];
matrix[matrix.length-1-i][j]=temp;
}
}
for(int i=0;i<matrix.length;i++)
{
for(int j=0;j<i;i++)
{
int temp=0;
temp=matrix[i][j];
matrix[j][i]=matrix[i][j];
matrix[i][j]=temp;
}
}
}