原题地址:https://leetcode-cn.com/problems/rotate-matrix-lcci/
给你一幅由 N × N 矩阵表示的图像,其中每个像素的大小为 4 字节。请你设计一种算法,将图像旋转 90 度。
不占用额外内存空间能否做到?
思路:先上下翻转,再按主对角线翻转
class Solution {
//先上下交换再按主对角线对称交换元素
public void rotate(int[][] matrix) {
int N = matrix.length;
int n = N/2;
int temp;
//上下交换
for(int i=0;i<n;i++){
for(int j=0;j<N;j++){
temp = matrix[i][j];
matrix[i][j] = matrix[N-1-i][j];
matrix[N-1-i][j] = temp;
}
}
//按主对角线交换
for(int i=0;i<N;i++){
for(int j=0;j<=i;j++){
temp = matrix[i][j];
matrix[i][j] = matrix[j][i];
matrix[j][i] = temp;
}
}
}
}
青古の每篇一歌
《琴师》
你挽指做蝴蝶从窗框上飞起
飞过我指尖和眉宇