您的位置:首页 > 其它

(leetcode)Rotate Image

2015-08-21 10:15 246 查看
You are given an n x n 2D matrix representing an image.

Rotate the image by 90 degrees (clockwise).

Follow up:
Could you do this in-place?

使用先对角线翻转,后水平翻转

1 2 对角线翻转 4 2 水平翻转 3 1

3 4 =========> 3 1 ==========> 4 2

class Solution {
public:
void rotate(vector<vector<int>>& matrix) {
int n = matrix.size();
int temp;
for(int i = 0;i < n;++i)
{
for(int j = 0;j < n-i;++j)
{
temp = matrix[i][j];
matrix[i][j] = matrix[n-j-1][n-i-1];
matrix[n-j-1][n-i-1] = temp;
}
}

for(int i = 0; i < n/2; ++i)//沿着水平线翻转
{
for(int j = 0;j < n;++j)
{
temp = matrix[i][j];
matrix[i][j] = matrix[n-i-1][j];
matrix[n-i-1][j] = temp;
}
}
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: