解题思路:
首先对主对角线两边的元素进行交换
接着走一轮遍历,将第1列和第n列进行交换,第2列和第n-1列进行交换,直至得到最终的矩阵。
代码实现:
public void rotate(int[][] matrix) {//首先对主对角线的元素进行交换int temp=0;int n=matrix.length;for(int i=0;i<n;i++){for(int j=0;j<i;j++){temp=matrix[i][j];matrix[i][j]=matrix[j][i];matrix[j][i]=temp;}}//接着对两边的元素进行交换(如第1列和第四列,第2列和第3列)for(int i=0;i<n;i++){for(int j=0;j<n/2;j++){temp=matrix[i][j];matrix[i][j]=matrix[i][n-j-1];matrix[i][n-j-1]=temp;}}}