旋转图像(找规律)
题目链接:https://leetcode-cn.com/problems/rotate-image/
题目大意:将矩阵顺时针旋转90度,要求原地旋转,空间复杂度O(1)
先水平对折翻转,然后主对角线翻转
func rotate(matrix [][]int) {
n:=len(matrix)
// 水平对折翻转
for i:=0;i<n/2;i++{
matrix[i],matrix[n-i-1]=matrix[n-i-1],matrix[i]
}
// 主对角线(左上-右下)翻转
for i:=0;i<n;i++{
for j:=0;j<i;j++{
matrix[i][j],matrix[j][i]=matrix[j][i],matrix[i][j]
}
}
}
时间复杂度:O(N*N)
空间复杂度:O(1)