知识点

模拟

思路

先翻转每一行,之后关于对角线对称的位置交换即可。

时间复杂度O(nm)

AC Code(C++)

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param matrix int整型vector<vector<>> 
     * @return int整型vector<vector<>>
     */
    vector<vector<int> > rotatePastureCounterClockwise(vector<vector<int> >& matrix) {
        int n = matrix.size(), m = matrix[0].size();
        for (auto& v : matrix) {
            reverse(v.begin(), v.end());
        }
        for (int i = 0; i < n; i ++) {
            for (int j = 0; j < i; j ++) swap(matrix[i][j], matrix[j][i]);
        }
        return matrix;
    }
};