Rotate Matrix

来源:互联网 发布:钮承泽军中乐园知乎 编辑:程序博客网 时间:2024/06/05 00:08


public class RotateMatrix {public static int[][] rotate(int[][] matrix, int flag){int m = matrix.length, n = matrix[0].length;int[][] trans = new int[n][m];//transpose matrixfor (int i = 0; i < m; i++) {for (int j = 0; j < n; j++) {trans[j][i] = matrix[i][j];}}if (flag == 1) { // rotate clockwisefor (int i = 0; i < n; i++) {for (int j = 0; j < m / 2; j++) {int tmp = trans[i][j];trans[i][j] = trans[i][m - 1 - j];trans[i][m - 1 - j] = tmp;}}}else { // rotate anti-clockwisefor (int j = 0; j < m; j++) {for (int i = 0; i < n / 2; i++) {    int tmp = trans[i][j];    trans[i][j] = trans[n - 1 - i][j];    trans[n - 1 - i][j] = tmp;    }    }}return trans;}}

原创粉丝点击