找出4个对应位置的规律即可
/*
* @lc app=leetcode id=48 lang=cpp
*
* [48] Rotate Image
*/
// @lc code=start
class Solution {
public:
void rotate(vector<vector<int>>& matrix) {
int N = matrix.size();
// 层
for(int i=0;i<N/2;i++){
// 偏移位置
for(int j=0;j<N-1-2*i;j++){
// 循环四个方向
int* a = &matrix[i][i+j];
int* b = &matrix[i+j][N-1-i];
int* c = &matrix[N-1-i][N-1-i-j];
int* d = &matrix[N-1-i-j][i];
swap(*a,*b);
swap(*a,*c);
swap(*a,*d);
}
}
}
};
// @lc code=end