#include <vector>
class Solution {
public:
    void rotate(vector<vector<int> > &matrix) {
        if(matrix.empty()) return;

        int m = matrix.size();
        int n = matrix[0].size();

        vector<vector<int>> rotate_after(n, vector<int>(m));
        for(int i=0; i<m; ++i){
            for(int j=0; j<n; j++){
                rotate_after[j][m-1 - i] = matrix[i][j];
            }
        }

        matrix = rotate_after;
        return;
    }
};