lintcode: 旋转图像

旋转图像

给定一个N×N的二维矩阵表示图像,90度顺时针旋转图像。

解题

顺时针旋转90度 就是 上下翻转,再主对角对折

public class Solution {
/**
* @param matrix: A list of lists of integers
* @return: Void
*/
public void rotate(int[][] A) {
// write your code here
if (A == null || A.length == 0 || A[0].length == 0)
return ;
int m = A.length;
int n = A[0].length;
// 上下翻转 后 主对角翻转
// 上下翻转
for(int i = 0;i<= (m-1)/2;i++){
for(int j = 0;j< n;j++){
int tmp = A[i][j];
A[i][j] = A[m - i -1][j];
A[m - i -1][j] = tmp;
}
}
// 主对角翻转
for(int i = 0;i< m;i++ ){
for(int j=i+1;j< n;j++){
int tmp = A[i][j];
A[i][j] = A[j][i];
A[j][i] = tmp;
}
}
}
}
上一篇:复旦高等代数 I(15级)思考题


下一篇:spring schedule定时任务(一):注解的方式