If you could find the secret of image rotate, then this would be a simple problem.
1. If you want to rotate the image by 90 degrees clockwise,then reverse the matrix up to down and then swith symmetry.
2. If you want to rotate the image by 90 degrees anticlockwise,then reverse the matrix left to right and then swith symmetry.
public void rotate(int[][] matrix) { int m = matrix.length, n = matrix[0].length; for(int i=0;i<m/2;i++){ for(int j=0;j<n;j++){ int temp = matrix[i][j]; matrix[i][j]=matrix[m-1-i][j]; matrix[m-1-i][j]=temp; } } for(int i=0;i<m;i++){ for(int j=i; j<n;j++){ int temp = matrix[i][j]; matrix[i][j]=matrix[j][i]; matrix[j][i] = temp; } } }