Leetcode: Rotate Image

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());

    }

};

 

你可能感兴趣的:(LeetCode)