题目:反转二维数组的元素,按顺时针90°。
例如:
{{1,2,3}, {{7,4,1},
{4,5,6}, to {8,5,2},
{7,8,9}} {9,6,3}}
题解:
1.关于matrix.length/2对称的行交换位置即可。
2.关于主对角线对称的元素交换位置;
public class Solution {
public void rotate(int[][] matrix) {
if(matrix == null||matrix.length == 0||matrix.length!=matrix[0].length)
return;
for(int i=0;i<(matrix.length+1)>>1;i++)
{
int[]temp=matrix[i];
matrix[i]=matrix[matrix.length-1-i];
matrix[matrix.length-1-i]=temp;
}
for(int i=1;i<matrix.length;i++)
{
for(int j=0;j<i;j++)
{
int temp=matrix[i][j];
matrix[i][j]=matrix[j][i];
matrix[j][i]=temp;
}
}
}
}