1.6 Image Rotation

Given an image represented by an NxN matrix, where each pixel in the image is
4 bytes, write a method to rotate the image by 90 degrees. Can you do this in
place?

将matrix切成4份即可

 1     public static void imageRotation(int[][] matrix, int n) {
 2         for (int i = 0; i < n / 2; i++) {
 3             for (int j = i; j < n - 1 - i; j++) {
 4                 int tmp = matrix[i][j];
 5                 matrix[i][j] = matrix[n - 1 - j][i];
 6                 matrix[n - 1 - j][i] = matrix[n - 1 - i][n - 1 - j];
 7                 matrix[n - 1 - i][n - 1 - j] = matrix[j][n - 1 - i];
 8                 matrix[j][n - 1 - i] = tmp;
 9             }
10         }
11     }

 

posted on 2014-11-21 12:57  SuperBo  阅读(158)  评论(0编辑  收藏  举报