1. 题目来源
链接:48. 旋转图像
2. 题目解析
貌似在笔试题遇见过? 可以理解成脑筋急转弯。
先沿对角线反转,再左右反转。 专业术语:转置加镜像 hh。
时间复杂度:
O
(
n
2
)
O(n^2)
O(n2)
空间复杂度:
O
(
1
)
O(1)
O(1)
代码:
class Solution {
public:
void rotate(vector<vector<int>>& matrix) {
for (int i = 0; i < matrix.size(); i ++ )
for (int j = 0; j < i; j ++ )
swap(matrix[i][j], matrix[j][i]);
for (int i = 0; i < matrix.size(); i ++ )
for (int j = 0, k = matrix.size() - 1; j <= k; j ++, k -- )
swap(matrix[i][j], matrix[i][k]);
}
};