//对矩阵中轴水平反转,对每层未被交换过的元素进行规则交换;
void rotate(vector<vector<int> > &matrix) {
int n=matrix.size()-1;
for(int x=0;x<=(n/2);x++)
for(int y=0;y<matrix.size();y++)
swap( matrix[x][y], matrix[n-x][y]);
for(int x=0;x<n+1;x++)
for(int y=x;y<n+1;y++)
swap( matrix[x][y],matrix[y][x]);
}
//对矩阵外层元素的n-1个矩阵进行逆旋转,总共有n/2层;
oid rotate(vector<vector<int> > &matrix) {
int n=matrix.size()-1;
for(int i=0; i<=n/2; ++i){
for(int j=i; j<n-i; ++j){
swap(matrix[i][j],matrix[n-j][i]);
swap(matrix[n-j][i],matrix[n-i][n-j]);
swap(matrix[n-i][n-j],matrix[j][n-i]);
}
}
}
leetcode 48. 旋转图像
最新推荐文章于 2025-03-27 16:32:39 发布
本文介绍了一种实现矩阵旋转的算法,通过水平翻转和元素交换来完成90度旋转。此外,还提供了一种针对矩阵外层元素进行逆旋转的方法。
497

被折叠的 条评论
为什么被折叠?



