LC048 - Rotate Image
Problem
You are given an n x n
2D matrix
representing an image, rotate the image by 90 degrees (clockwise).
You have to rotate the image in-place, which means you have to modify the input 2D matrix directly. DO NOT allocate another 2D matrix and do the rotation.
Example
Input: matrix = [[1,2,3],[4,5,6],[7,8,9]]
Output: [[7,4,1],[8,5,2],[9,6,3]]
Solution
Time complexity is and no extra space is used.
def rotate(self, matrix: List[List[int]]) -> None:
for i in range(len(matrix)+1):
for j in range(i, len(matrix[0])):
matrix[i][j], matrix[j][i] = matrix[j][i], matrix[i][j]
for row in range(len(matrix)):
matrix[row] = matrix[row][::-1]
Last updated