题目描述
题解思路
我们可以将原矩阵进行水平翻转,然后在沿主对角线进行翻转,就能完成原矩阵沿顺时针方向旋转90o的变换
题解代码
impl Solution {
pub fn rotate(matrix: &mut Vec<Vec<i32>>) {
let n = matrix.len();
// 水平翻转
for i in 0..(n >> 1) {
for j in 0..n {
(matrix[i][j], matrix[n - 1 - i][j]) = (matrix[n - 1 - i][j], matrix[i][j]);
}
}
// 主对角线翻转
for i in 1..n {
for j in 0..i {
(matrix[i][j], matrix[j][i]) = (matrix[j][i], matrix[i][j]);
}
}
}
}