diff --git a/48_rotate_image/main.cpp b/48_rotate_image/main.cpp new file mode 100644 index 0000000..9165d82 --- /dev/null +++ b/48_rotate_image/main.cpp @@ -0,0 +1,22 @@ +#include +using namespace std; + +class Solution { + public: + void rotate(vector>& 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; + } + } + } +};