1.题目描述
2.思路
画出矩阵,新的旋转矩阵的列坐标等于原始矩阵的矩阵长度-i-1(也就是减去当前遍历的i),前后对调。然后新的旋转矩阵的横坐标,是原始矩阵的列坐标。
3.代码实现
java
public class H48 {
public void rotate(int[][] matrix) {
//1.n*n的二维矩阵是方阵,然后计算方阵的行列的长度
int n=matrix.length;
//2.创建一个新的方阵,用来存储旋转后的值。
int[][] matrixNew=new int[n][n];
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
matrixNew[j][n-i-1]=matrix[i][j];
}
}
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
matrix[i][j]=matrixNew[i][j];
}
}
}
public static void main(String[] args)
{
H48 test08=new H48();
int[][] matrix={{1,2,3},{4,5,6},{7,8,9}};
test08.rotate(matrix);
for(int[] row:matrix)
{
for(int value:row)
{
System.out.print(value+" ");
}
System.out.println();
}
}
}