旋转矩阵
给你一幅由 N × N 矩阵表示的图像,其中每个像素的大小为 4 字节。请你设计一种算法,将图像旋转 90 度。
不占用额外内存空间能否做到?
示例 1:
1 | 给定 matrix = |
示例 2:
1 | 给定 matrix = |
注意:本题与主站 48 题相同:https://leetcode-cn.com/problems/rotate-image/
思路1:暴力破解方法
占用额外内存空间
把第一列x个元素旋转90度之后,变成最后一行的x列元素
把第二列x个元素旋转90度之后,变成最后二行的x列元素
5 ->
matrix[0][0]
->matrix[4][0]
1 ->
matrix[0][1]
->matrix[4][1]
9 ->
matrix[0][2]
->matrix[4][2]
11 ->
matrix[0][3]
->matrix[4][3]
matrix[row][col]
->matrix[col][matrix.length-row-1]
1 |
|
思路2
先水平翻转,然后在对角线反转
matrix[row][col]
->matrix[n−row−1][col]
matrix[row][col]
->matrix[col][row]
1 |
|
作者:力扣 (LeetCode)
链接:https://leetcode.cn/leetbook/read/array-and-string/clpgd/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。