(2014-851-2)
脑筋急转弯
-
将矩阵先沿着对角线翻转
for(int i = 0; i < sz; i ++) for(int j = 0; j < i; j ++) swap(matrix[i][j], matrix[j][i]);
-
后面沿着中轴翻转
for(int i = 0; i < sz; i ++) for(int j = 0, k = sz - 1; j < k; j ++, k --) swap(matrix[i][j], matrix[i][k]);
题解
class Solution {
public:
void rotate(vector<vector<int>>& matrix) {
int sz = matrix.size();
for(int i = 0; i < sz; i ++)
for(int j = 0;j < i; j ++)
swap(matrix[i][j], matrix[j][i]);
for(int i = 0; i < sz; i ++)
for(int j = 0, k = sz - 1; j < k; j ++, k --)
swap(matrix[i][j], matrix[i][k]);
}
};
网友评论