Rotate by 90 Degree
Problem Statement
Given a square matrix of size N x N. The task is to rotate it by 90 degrees in anti-clockwise direction without using any extra space.
Example 1
Input :
N = 2
matrix[][] = {{1, 2},
{3, 4}}
Output :
Rotated Matrix:
2 4
1 3
Example 2
Input :
N = 3
matrix[][] = {{1, 2, 3},
{4, 5, 6}
{7, 8, 9}}
Output :
Rotated Matrix:
3 6 9
2 5 8
1 4 7
Task
You dont need to read input or print anything. Complete the function rotateby90() which takes the matrix as input parameter and rotates it by 90 degrees in anti-clockwise direction without using any extra space. You have to modify the input matrix in-place.
Expected Time Complexity : O(N2)
Expected Auxiliary Space : O(1)
Constraints :
1 <= N <= 100
1 <= matrix[][] <= 1000
Solutions
Java Solution
class Solution
{
//Function to rotate matrix anticlockwise by 90 degrees.
static void rotateby90(int matrix[][], int n)
{
// code here
int temp[][] = new int[n][n];
for(int i=0; i<n; i++) {
for(int j=0; j<n; j++) {
temp[n-j-1][i] = matrix[i][j];
}
}
for(int i=0; i<n; i++) {
for(int j=0; j<n; j++) {
matrix[i][j] = temp[i][j];
}
}
}
}
0 Comments