Rotate Image
You are given an_n_x_n_2D matrix representing an image.
Rotate the image by 90 degrees (clockwise).
Note:
You have to rotate the imagein-place, which means you have to modify the input 2D matrix directly.DO NOTallocate another 2D matrix and do the rotation.
Example 1:
Given
input matrix
=
[
[1,2,3],
[4,5,6],
[7,8,9]
],
rotate the input matrix
in-place
such that it becomes:
[
[7,4,1],
[8,5,2],
[9,6,3]
]
Example 2:
Given
input matrix
=
[
[ 5, 1, 9,11],
[ 2, 4, 8,10],
[13, 3, 6, 7],
[15,14,12,16]
],
rotate the input matrix
in-place
such that it becomes:
[
[15,13, 2, 5],
[14, 3, 4, 1],
[12, 6, 8, 9],
[16, 7,10,11]
]
Solution1:
方法一
将原始矩阵中的元素复制到新矩阵中
矩阵中元素位置计算:横纵坐标分别计算
原始矩阵中横坐标为新矩阵中纵坐标
原始矩阵中纵坐标j为新矩阵中height-j-1坐标
方法二
原地坐标转换。如图所示:

Last updated
Was this helpful?