像素翻转
2016-12-14 11:42
99 查看
题解
这道题可以模拟,但是有转化的手段使得代码更加容易编写。package 像素翻转; public class transform { public int[][] transformImage(int[][] mat, int n) { // 将旋转操作转化为翻转操作,使得代码好写了许多 int middle = n / 2; for (int i = 0; i < middle; i++) { // i <--> n-i-1 for(int j=0;j<n;j++){ int t = n-i-1; mat[i][j] ^= mat[t][j]; mat[t][j] ^= mat[i][j]; mat[i][j] ^= mat[t][j]; } } for(int i=0;i<n;i++){ for(int j=0;j<i;j++){ int tmp = mat[i][j]; mat[i][j] = mat[j][i]; mat[j][i] = tmp; } } return mat; } public static void main(String[] args) { } }