1. 核心思路必背先上下翻转 → 再沿主对角线翻转转置两步搞定顺时针 90 度2. 沿对角线翻转 交换对称的两个点规则只有一句交换(i,j)和(j,i)比如(0,1) ↔ (1,0)(0,2) ↔ (2,0)(1,2) ↔ (2,1)3. 为什么 j 从 i1 开始因为上三角对角线上面的元素j i下三角对角线下面的元素j i如果遍历所有 i 和 j会交换两次又换回去所以只需要遍历上三角j i1 开始交换一次就够了完整代码实现class Solution { public void rotate(int[][] matrix) { int n matrix.length; // 先进行上下垂直翻转 for(int i 0;in/2;i){ int[] temp matrix[i]; matrix[i] matrix[n - 1 -i]; matrix[n - 1 - i] temp; } // 第二步沿主对角线翻转矩阵转置 // 只遍历上三角交换 matrix[i][j] 和 matrix[j][i] for(int i 0;in;i){ for(int j i 1;jn;j){ int temp matrix[i][j]; matrix[i][j] matrix[j][i]; matrix[j][i] temp; } } } }