You are given an n x n 2D matrix representing an image. Rotate the image by 90 degrees clockwise. You must rotate the image in-place, meaning you have to modify the input 2D matrix directly. Do not allocate another 2D matrix.
Input: Output: 1 2 3 7 4 1 4 5 6 -> 8 5 2 7 8 9 9 6 3
Input: matrix = [[1,2,3],[4,5,6],[7,8,9]] Output: [[7,4,1],[8,5,2],[9,6,3]] Explanation: Each column of the original, read bottom to top, becomes a row of the result.
Input: Output: 5 1 9 11 15 13 2 5 2 4 8 10 -> 14 3 4 1 13 3 6 7 12 6 8 9 15 14 12 16 16 7 10 11
Input: matrix = [[5,1,9,11],[2,4,8,10],[13,3,6,7],[15,14,12,16]] Output: [[15,13,2,5],[14,3,4,1],[12,6,8,9],[16,7,10,11]] Explanation: A 90-degree clockwise rotation maps position (r,c) to (c, n-1-r).
n == matrix.length == matrix[i].length1 <= n <= 200-1000 <= matrix[i][j] <= 1000matrix = [[1,2,3],[4,5,6],[7,8,9]]