girar a matriz em java

package Arrays;

import java.util.Arrays;

public class RotateMatrix {
    static int[][] rotate(int[][] matrix) {
        int rows = matrix.length;
        int cols = matrix[0].length;

        int[][] ans = new int[rows][cols];

        for (int i = 0; i < rows; i++) {
            for (int j = 0; j < cols; j++) {
                ans[i][j] = matrix[j][i];

            }
            reverse(ans[i]);
        }
        return ans;
    }
    
    static void reverse(int[] arr) {
        for (int i = 0; i < arr.length/2; i++) {
            int temp = arr[i];
            arr[i] = arr[arr.length-i-1];
            arr[arr.length-i-1] = temp;
        }
    }

    public static void main(String[] args) {
        int[][] nums = {{1, 2, 3},{4, 5, 6}, {7, 8,9}};
        System.out.println(Arrays.deepToString(rotate(nums)));
    }
}
Prabhu Kiran Konda