feat: 48_rotate_image

This commit is contained in:
SquidSpirit 2025-03-11 00:17:59 +08:00
parent 3fb7c796f4
commit f5f04b3783

22
48_rotate_image/main.cpp Normal file
View File

@ -0,0 +1,22 @@
#include <bits/stdc++.h>
using namespace std;
class Solution {
public:
void rotate(vector<vector<int>>& matrix) {
const int n = matrix.size();
for (int i = 0; i < n / 2; i++) {
for (int j = 0; j < n - i * 2 - 1; j++) {
// matrix[i][i + j]
// matrix[i + j][n - i - 1]
// matrix[n - i - 1][n - i - j - 1]
// matrix[n - i - j - 1][i]
const int tmp = matrix[n - i - j - 1][i];
matrix[n - i - j - 1][i] = matrix[n - i - 1][n - i - j - 1];
matrix[n - i - 1][n - i - j - 1] = matrix[i + j][n - i - 1];
matrix[i + j][n - i - 1] = matrix[i][i + j];
matrix[i][i + j] = tmp;
}
}
}
};