方法:将矩阵先转置,后上下翻转
class Solution { public void rotate(int[][] matrix) { int n = matrix.length; //矩阵转置 for(int i = 0; i < n; i++){ for(int j = i; j < n; j++){ int tmp = matrix[j][i]; matrix[j][i] = matrix[i][j]; matrix[i][j] = tmp; } } //矩阵翻转 for(int i = 0; i < n; i++){ for(int j = 0; j < n / 2; j++){ int tmp = matrix[i][n - j - 1]; matrix[i][n - j - 1] = matrix[i][j]; matrix[i][j] = tmp; } } } }