您的位置:首页 > 其它

LintCode:旋转图像

2015-11-24 23:02 344 查看


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

您在真实的面试中是否遇到过这个题?

Yes

样例

给出一个矩形[[1,2],[3,4]],90度顺时针旋转后,返回[[3,1],[4,2]]

挑战

能否在原地完成?

标签 Expand

相关题目 Expand
解题思路:
旋转90°其实可以理解为数组先上下对折
,然后再进行对角线对折
就ok了。

http://www.2cto.com/kf/201410/341031.html
/article/4999809.html
public class Solution {
/**
* @param matrix: A list of lists of integers
* @return: Void
*/
public void rotate(int[][] matrix) {
// write your code here
if(matrix==null||0==matrix.length) return;
int m = matrix.length;
/**上下进行翻转**/
for(int i=0;i<m/2;i++){
for(int j=0;j<m;j++){
int tmp = matrix[i][j];
matrix[i][j] = matrix[m-1-i][j];
matrix[m-1-i][j] = tmp;
}
}
/**对角线进行翻转**/
for(int i=0;i<m;i++){
for(int j=0;j<i;j++){
int tmp = matrix[i][j];
matrix[i][j] = matrix[j][i];
matrix[j][i] = tmp;
}
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: