Rotate Image
Total Accepted: 37958 Total Submissions: 118891
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?
先按145°对角线将图像对称翻转, 再将各行逆序翻转即可
class Solution { public: void rotate(vector<vector<int> > &matrix) { int n = matrix.size(); for (int y = 1; y < n; y++) for (int x = 0; x < y; x++) swap(matrix[y][x], matrix[x][y]); for (auto& sub : matrix) reverse(sub.begin(), sub.end()); } };