题目:
给出一个用二维矩阵表示的图像,返回该图像顺时针旋转90度的结果。举例如下:
进行旋转赋值交换。
代码:
package com.company;
public class TestNo17 {
public static void main(String[] args) {
TestNo17 t = new TestNo17();
int[][] a = {{1,2,3},{4,5,6},{7,8,9}};
t.rotate(a);
}
public void rotate(int[][] matrix) {
int n = matrix.length;
for(int i = 0;i<n/2;i++){
for(int j=i;j<n-i-1;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;//从上至下
}
//return;
}
// 将二维矩阵打印出来
// for(int i = 0;i<n;i++){
// for(int j=0;j<n;j++){
// System.out.print(matrix[i][j]);
// }
// System.out.println("/n");
// }
}
}