Rotate by 90 Degree

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];
            }
        }
    }
}     
    

Post a Comment

0 Comments