题目的链接在这里:https://leetcode-cn.com/problems/rotate-image/
题目大意
给定一个 n × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。
一、示意图
二、解题思路
//将图像顺时针旋转90度
//首先发现的规律就是 (x,y)=>(y,n-1-x)
//那就是用的一个比较简单的方法还是要用到新的空间复杂度进行交换
占用空间复杂度
代码如下:
class Solution {
public void rotate(int[][] matrix) {
//将图像顺时针旋转90度
//首先发现的规律就是 (x,y)=>(y,n-1-x)
//那就是用的一个比较简单的方法还是要用到新的空间复杂度进行交换
int [][]temp=new int[matrix[0].length][matrix.length];
int N=matrix.length;
for(int i=0;i<matrix.length;i++){
for(int j=0;j<matrix[0].length;j++){
temp[j][N-1-i]=matrix[i][j];
}
}
//然后赋值完了之后 就需要重新赋值回去
for(int i=0;i<matrix.length;i++){
for (int j=0;j<matrix[0].length;j++){
matrix[i][j]=temp[i][j];
}
}
}
}