思路:
- 先转置,然后对称。复杂度为\(O(n^2)\)。每次用swap交换,额外占用一个空间,所以空间复杂度为\(O(1)\)。
class Solution {
public:
void rotate(vector<vector<int>>& matrix) {
for(int i = 0; i < matrix[0].size(); i++){
for(int j = i+1; j < matrix[0].size(); j++){
swap(matrix[i][j],matrix[j][i]);
}
}
for(int i = 0; i < matrix[0].size(); i++){
for(int j = 0; j < matrix[0].size()/2; j++){
swap(matrix[i][j],matrix[i][matrix[0].size()-j-1]);
}
}
}
};