刷题No17. rotate-image(N*N 矩阵图像顺时针旋转图像)(java)【数组】

题目:

给出一个用二维矩阵表示的图像,返回该图像顺时针旋转90度的结果。举例如下:

进行旋转赋值交换。

代码:

package com.company;

public class TestNo17 {
    public static void main(String[] args) {
        TestNo17 t = new TestNo17();
        int[][] a = {{1,2,3},{4,5,6},{7,8,9}};
        t.rotate(a);
    }

    public void rotate(int[][] matrix) {
        int n = matrix.length;
        for(int i = 0;i<n/2;i++){
            for(int j=i;j<n-i-1;j++){
                int temp = matrix[i][j];
                matrix[i][j] = matrix[n-j-1][i];//从右至左
                matrix[n-j-1][i] =  matrix[n-i-1][n-j-1];//从上至下
                matrix[n-i-1][n-j-1] = matrix[j][n-i-1];//从左至右
                matrix[j][n-i-1] = temp;//从上至下
            }
            //return;
        }
        // 将二维矩阵打印出来
//        for(int i = 0;i<n;i++){
//            for(int j=0;j<n;j++){
//                System.out.print(matrix[i][j]);
//            }
//            System.out.println("/n");
//        }
    }

}
发布了46 篇原创文章 · 获赞 11 · 访问量 3587

猜你喜欢

转载自blog.csdn.net/qq_40664693/article/details/104209178