二维数组(矩阵)顺时针旋转90°

1.先转置

2.后调换列元素
  

 public void rotate(int[][] matrix){
       //矩阵转置代码
        for(int i=0;i<matrix.length;i++){
            for(int j=i;j<matrix[i].length;j++){
                int k=matrix[i][j];
                matrix[i][j]=matrix[j][i];
                matrix[j][i]=k;
            }
        }
       //矩阵调换列元素
        int a=0;
        int b=matrix.length-1;
        for(int i=0;i < (matrix.length)/2;i++){
            for(int j=0;j<matrix.length;j++){
                int k=matrix[j][a];
                matrix[j][a]=matrix[j][b];
                matrix[j][b]=k;
            }
            a++;
            b--;
        }   
    }

猜你喜欢

转载自blog.csdn.net/qq_38635681/article/details/83502708