[LeetCode] 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?

注意知识点:容器特有的泛型算法:reverse(iter.begin(),iter.end()),表示反向排列容器内的元素

class Solution {
public:
    void rotate(vector<vector<int> > &matrix) 
    {
        reverse(matrix.begin(), matrix.end());
        for (unsigned i = 0; i < matrix.size(); ++i)
            for (unsigned j = i+1; j < matrix[i].size(); ++j)
                swap (matrix[i][j], matrix[j][i]);
    }
};

如果不要求in-place那么定义另一个相同大小vector<vector<int> >来存储旋转后的结果,也比较容易。

原文地址:https://www.cnblogs.com/Xylophone/p/3867197.html