Back to Main
Learn DSA
Two Pointers
Sliding Window
Intervals
Stack
Linked List
Binary Search
Heap
Depth-First Search
Breadth-First Search
Backtracking
Graphs
Dynamic Programming
Greedy Algorithms
Trie
Prefix Sum
Matrices
Get Premium
Rotate Image
DESCRIPTION (credit Leetcode.com)
Write a function to rotate an n x n 2D matrix representing an image by 90 degrees clockwise. The rotation must be done in-place, meaning you should modify the input matrix directly without using an additional matrix for the operation.
EXAMPLES
Input:
matrix = [ [1,4,7], [2,5,8], [3,6,9] ]
Output:
[ [3,2,1], [6,5,4], [9,8,7] ]
Explanation: The matrix is rotated by 90 degrees clockwise, transforming its columns into rows in reverse order.
Run your code to see results here
Explanation
This problem can be done in two steps. We first transpose the matrix, then reverse the elements in each row.
Step 1:
Transpose the matrix by swapping the elements across the diagonal. This can be done in-place by using a nested for loop to swap the elements.
def rotate_image(matrix):n = len(matrix)# Transpose the matrixfor i in range(n):for j in range(i, n):matrix[i][j], matrix[j][i] = \matrix[j][i], matrix[i][j]# Reverse each rowfor i in range(n):matrix[i] = matrix[i][::-1]return matrix
n = 3
0 / 12
1x
Step 2:
Reverse the elements in each row of the matrix.
def rotate_image(matrix):n = len(matrix)# Transpose the matrixfor i in range(n):for j in range(i, n):matrix[i][j], matrix[j][i] = \matrix[j][i], matrix[i][j]# Reverse each rowfor i in range(n):matrix[i] = matrix[i][::-1]return matrix
swap matrix[2][2] and matrix[2][2]
0 / 4
1x
Solution
def rotate_image(matrix):n = len(matrix)# Transpose the matrixfor i in range(n):for j in range(i, n):matrix[i][j], matrix[j][i] = \matrix[j][i], matrix[i][j]# Reverse each rowfor i in range(n):matrix[i] = matrix[i][::-1]return matrix
rotate image
0 / 17
1x
Complexity Analysis
Time Complexity: O(n2) where n is the number of rows in the matrix.
Space Complexity: O(1) since we are doing the rotation in-place.
© 2025 Optick Labs Inc. All rights reserved.
Loading comments...