面试题 01.07. 旋转矩阵 - 力扣(LeetCode)
一样的:LeetCode第 48 题:旋转图像(C++)_zj-CSDN博客
class Solution {
public:
void rotate(vector<vector<int>>& matrix) {
int m = matrix.size();
for(int i = 0; i < m; ++i){//转置,沿左上-右下对角线
for(int j = 0; j < i; ++j) swap(matrix[i][j], matrix[j][i]);
}
for(int i = 0; i < m; ++i) reverse(matrix[i].begin(), matrix[i].end());
}
};
模拟旋转交换元素:
class Solution {
public:
void rotate(vector<vector<int>>& matrix) {
int temp;
int n=matrix.size();
for(int i=0;i<n/2;i++){
for(int j=i;j<n-i-1;j++){
swap(matrix[i][j], matrix[j][n-1-i]);
swap(matrix[i][j], matrix[n-1-i][n-1-j]);
swap(matrix[i][j], matrix[n-1-j][i]);
}
}
}
};