Mid Coding

Rotate Matrix by 90 Degrees (Clockwise)?

void RotateMatrix(int[][] matrix)

int n = matrix.Length;

// Transpose

for (int i = 0; i < n; i++)

for (int j = i; j < n; j++)

(matrix[i][j], matrix[j][i]) = (matrix[j][i],

matrix[i][j]);

// Reverse each row

for (int i = 0; i < n; i++)

int left = 0, right = n - 1;

while (left < right)

(matrix[i][left], matrix[i][right]) = (matrix[i][right],

matrix[i][left]);

left++;

right--;

Explanation:

Transpose matrix and then reverse each row to rotate clockwise by 90°.

More from C# Programming Tutorial

All questions for this course