diff options
Diffstat (limited to 'other/rotate_image.cpp')
-rw-r--r-- | other/rotate_image.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/other/rotate_image.cpp b/other/rotate_image.cpp new file mode 100644 index 0000000..10d0638 --- /dev/null +++ b/other/rotate_image.cpp @@ -0,0 +1,18 @@ +#include "leetcode.h" + +class Solution { +public: + void rotate(vector<vector<int>> &matrix) { + int n = matrix.size(), depth = n / 2; + for (int i = 0; i < depth; i++) { + int len = n - 2 * i - 1, opp = n - 1 - i; + for (int j = 0; j < len; j++) { + int tmp = matrix[i][i + j]; + matrix[i][i + j] = matrix[opp - j][i]; + matrix[opp - j][i] = matrix[opp][opp - j]; + matrix[opp][opp - j] = matrix[i + j][opp]; + matrix[i + j][opp] = tmp; + } + } + } +}; |