【LeetCode】旋转图像(原地算法,找规律)

旋转图像(找规律)

题目链接: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)

posted @ 2022-04-09 14:29  西*风  阅读(77)  评论(0)    收藏  举报