在原数组中实现翻转,最简单的方法就是利用两次翻转。 先按照左下至右上的顺序对角线翻转,再水平翻转。 得到的结果就是顺时针90度的效果。 由于翻转是一一换位,所以可以利用两次二位循环实现。这里注意只循环翻转的一半...办事所有单元都要翻转,否则转回来了
public class Solution {
public void rotate(int[][] matrix) {
int n = matrix.length;
if(n==0)
{
return ;
}
for(int i=0;i<n;i++ )
{
for(int j=0;j<n-i;j++ )
{
int tmp = matrix[i][j];
matrix[i][j] = matrix[n-1-j][n-1-i];
matrix[n-1-j][n-1-i] = tmp;
}
}
for(int i=0;i<n/2;i++ )
{
for(int j=0;j<n;j++ )
{
int tmp = matrix[i][j];
matrix[i][j] = matrix[n-1-i][j];
matrix[n-1-i][j] = tmp;
}
}
return ;
}
}