[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> >来存储旋转后的结果,也比较容易。