#include<vector> #include<algorithm> using std::vector;
classSolution { public: voidrotate(vector<vector<int> > &matrix) { // 先沿对角线翻转 int i, j, n = matrix.size(); for (i = 0; i < n; i++) for(j = i + 1; j< n; j++) std::swap(matrix[i][j], matrix[j][i]);
// 再逐行逆序 for (i = 0; i < n; i++) std::reverse(matrix[i].begin(), matrix[i].end()); } };
leetcode hot 100 rewrite
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
#include<vector> #include<algorithm> using std::vector;
classSolution { public: voidrotate(vector<vector<int> > &matrix) { int i, j, n = matrix.size(); for (i = 0; i < n; i++) { for (j = i + 1; j < n; j++) { std::swap(matrix[i][j], matrix[j][i]); } } for (i = 0; i < n; i++) std::reverse(matrix[i].begin(), matrix[i].end()); } };