/*
void rotate(int **a, int n) {
if(!a || n<2)
return;
int mid = n/2;
for(int i=0; i<mid; ++i) {
int len = n-1-i;
for(int j=i; j<len; ++j) {
int temp = a[i][j];
a[i][j] = a[n-1-j][i];
a[n-1-j][i] = a[n-1-i][n-1-j];
a[n-1-i][n-1-j] = a[j][n-1-i];
a[j][n-1-i] = temp;
}
}
}
*/
import java.io.*;
import java.util.*;
/*
* To execute Java, please define "static void main" on a class
* named Solution.
*
* If you need more classes, simply define them inline.
*/
class Solution {
public static void rotateMatrix(int[][] m, int s) {
if(m == null || s < 2) {
return;
}
int start = 0;
int end = s - 1;
while (end > start) {
for (int i = start; i < end; i++) {
int temp = m[i][start];
m[i][start] = m[start][end - i + start];
m[start][end - i + start] = m[end - i + start][end];
m[end - i + start][end] = m[end][i];
m[end][i] = temp;
}
start++;
end--;
// printMatrix(m);
}
}
public static void printMatrix(int[][] matrix) {
for (int r=0; r<matrix.length; ++r) {
for (int c=0; c<matrix.length; ++c) {
System.out.print(matrix[r][c]);
System.out.print(", ");
}
System.out.println();
}
System.out.println();
System.out.println();
}
public static void main(String[] args) {
int[][] matrix = {
{1,2,3,4,5},
{6,7,8,9,10},
{11,12,13,14,15},
{16,17,18,19,20},
{21,22,23,24,25}
};
printMatrix(matrix);
rotateMatrix(matrix, matrix.length);
printMatrix(matrix);
}
}
Created
November 8, 2017 03:18
Star
You must be signed in to star a gist
rotate matrix
Author
ldong
commented
Nov 8, 2017
•
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment