旋转矩阵 https://leetcode-cn.com/problems/rotate-matrix-lcci/
给你一幅由 N × N 矩阵表示的图像,其中每个像素的大小为 4 字节。请你设计一种算法,将图像旋转 90 度。不占用额外内存空间能否做到?
这个题非常简单,没什么好说的。先对角线对称,在沿横轴对称。
代码
Java
class Solution {
public void rotate(int[][] matrix) {
int N = matrix.length;
int tmp;
for(int i=0;i<N;i++)
{
for(int j=0;j<N-1-i;j++)
{
//swap(matrix[i][j],matrix[N-1-j][N-1-i]);
tmp = matrix[i][j];
matrix[i][j] = matrix[N-1-j][N-1-i];
matrix[N-1-j][N-1-i] = tmp;
}
}
for(int i=0;i<N/2;i++)
{
for(int j=0;j<N;j++)
{
//swap(matrix[i][j],matrix[N-1-i][j]);
tmp = matrix[i][j];
matrix[i][j] = matrix[N-1-i][j];
matrix[N-1-i][j] = tmp;
}
}
}
}