LeetCode-Rotate Image

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?

先转置

class Solution 
{
public:
    void rotate(vector<vector<int> > &matrix) 
    {
        int n = matrix.size();
        if(n==0)
            return;
        int m = matrix[0].size();
        for(int i=0; i<n; i++)
        {
            for(int j=i+1; j<m; j++)
            {
                int temp = matrix[i][j];
                matrix[i][j] = matrix[j][i];
                matrix[j][i] = temp;
            }
        }
        for(int i=0; i<n; i++)
        {
            int low = 0;
            int high = n-1;
            while(low<high)
            {
                int temp = matrix[i][low];
                matrix[i][low] = matrix[i][high];
                matrix[i][high] = temp;
                low++;
                high--;
            }
        }
    }
};

,后对称交换每一列