lichao_normal

导航

Rotate Image

 

参照计算机图形学图形变换即可。

public class Solution {
    
    public void rotate(int[][] matrix) {
        if(matrix.length<=1)return ;
        float dip=(float) ((matrix.length-1)/2.0);
        int[][] res=new int[matrix.length][matrix.length];
        for(int i=0;i<matrix.length;i++)
            for(int j=0;j<matrix.length;j++)
            {
                float x=i-dip;
                float y=j-dip;
                float newX=y+dip;
                float newY=-x+dip;
            //    System.out.println(newX+"    "+newY);
                res[(int)newX][(int)newY]=matrix[i][j];
            }
        for(int i=0;i<matrix.length;i++)
            for(int j=0;j<matrix.length;j++)
                matrix[i][j]=res[i][j];
    }
}
View Code

 

posted on 2017-03-30 21:43  lichao_normal  阅读(115)  评论(0编辑  收藏  举报