Loading

LeetCode 048 Rotate Image

题目要求:Rotate Image

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?

 

 

代码如下:

class Solution {
public:
    void rotate(vector<vector<int> > &matrix) {
        
        const int n = matrix.size();
        
        for(int i = 0; i < n; i++)  //沿着副对角线反转
            for(int j = 0; j < n - i; j++)
                swap(matrix[i][j], matrix[n - 1 - j][n - 1 - i]);
                
        for(int i = 0; i < n / 2; i++)//沿着水平中线反转
            for(int j = 0; j < n; j++)
                swap(matrix[i][j], matrix[n - 1 - i][j]);
        
    }
};

 

posted @ 2015-02-07 21:09  Yano_nankai  阅读(141)  评论(0编辑  收藏  举报