矩阵翻转问题
矩阵旋转问题
或者图像旋转问题。
1. 逆时针旋转90度
逆时针旋转90度可以先沿左上到右下对角线翻转,再上下翻转。
如矩阵
1 2 3
4 5 6
7 8 9
首先对角线翻转,得到
1 4 7
2 5 8
3 6 9
再上下翻转,得到
3 6 9
2 5 8
1 4 7
恰好是原矩阵逆时针旋转90度的结果。
2. 顺时针旋转90度
顺时针旋转90度可以先沿右上到左下对角线翻转,再上下翻转。
如矩阵
1 2 3
4 5 6
7 8 9
首先对角线翻转,得到
9 6 3
8 5 2
7 4 1
再上下翻转,得到
7 4 1
8 5 2
9 6 3
恰好是原矩阵顺时针旋转90度的结果。
48. 旋转图像
实现:
void rotate(vector<vector<int>>& matrix) {
int n = matrix.size()