//解题思路:先外环的数交换,再内环的数交换
class Solution {
public:
void rotate(vector<vector<int> > &matrix) {
int n = matrix[0].size();
for(int k = 0;k < n/2;k ++)
for(int i = k;i < n - k - 1;i ++){//注意,顶点不要重复交换,只需一次就够了,所以 i < n - k - 1
int tmp = matrix[k][i];
matrix[k][i] = matrix[n - i - 1][k];
matrix[n - i - 1][k] = matrix[n - 1 - k][n - 1 - i];
matrix[n - 1 - k][n - 1 - i] = matrix[i][n - 1 - k];
matrix[i][n - 1 - k] = tmp;
}
}
};
[LeetCode] Rotate Image
矩阵旋转算法
最新推荐文章于 2024-10-08 11:15:15 发布
本文介绍了一种高效的矩阵旋转算法实现,通过内外环交换的方式避免了重复计算,降低了算法复杂度。
1万+

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



