
【题目】:48. 旋转图像
class Solution { public: void rotate(vector<vector<int>>& matrix) { int n = matrix.size(); for(int i = 0; i < n / 2; ++i) { for(int j = 0; j < (n + 1) / 2; ++j) { int temp = matrix[i][j]; matrix[i][j] = matrix[n - j - 1][i]; matrix[n - j - 1][i] = matrix[n - i - 1][n - j - 1]; matrix[n - i - 1][n - j - 1] = matrix[j][n - i - 1]; matrix[j][n - i - 1] = temp; } } } };
|
- 时间复杂度: O(n^2)
- 空间复杂度: O(1)
这题如果直接以行为单位进行旋转,有一部分值会被覆盖。所以我们应该一次旋转一个数字,找到这些数字的关系。
