Rotate Image
图片分为行数/2层,然后一层层进行旋转,每一层有上下左右四个列,然后目标就是把上列放到右列,右列放到下列,下列放到左列,左列放回上列,中间保存一个临时变量
public static void rotate(int[][] arr){
if(arr==null) return;
int n = arr.length-1;
for (int i = 0; i <= n / 2; i++) {
for (int j = i; j <= n / 2; j++) {
int temp = arr[i][j];
arr[i][j] = arr[n-j][i];
arr[n-j][i] = arr[n-i][n-j];
arr[n-i][n-j] = arr[j][n-i];
arr[j][n-i] =temp;
}
}
}
public static void main(String[] args){
int[][] arr1 = {{1,2,3},{4,5,6},{7,8,9}};
rotate(arr1);
for(int i=0;i<3;i++){
System.out.println(arr1[2][i]);
}
}
网友评论