您的位置:首页 > 编程语言 > Java开发

leetCode练习(48)

2016-10-03 14:15 344 查看
题目:Rotate Image

难度:medium

问题描述:

You are given an n x n 2D matrix representing an image.

Rotate the image by 90 degrees (clockwise).

解题思路:

变换规律:原矩阵的第x行变为了第(n-x)列,第y列变成了第y行。

实现没有考虑节约空间,具体代码如下:

public static void rotate(int[][] matrix) {
show(matrix);
int len=matrix.length;
int[][] res=new int[len][len];
for(int i=0;i<len;i++){
for(int j=0;j<len;j++){
res[j][len-1-i]=matrix[i][j];
}
}
matrix=res.clone();
System.out.println("-----------------");
show(matrix);
}
public static void show(int[][] a){
for(int i=0;i<a.length;i++){
for(int j=0;j<a.length;j++){
System.out.print(a[i][j]+" ");
}
System.out.println();
}
}
public static void main(String[]args){
int[][] a=new int[2][2];
int k=1;
for(int i=0;i<2;i++){
for(int j=0;j<2;j++){
a[i][j]=k++;
}
}
rotate(a);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  leetcode java