【LeetCode练习】[中等]48. 旋转图像

it2025-05-28  14

【LeetCode练习】[中等]48. 旋转图像

48. 旋转图像

题目来源 算法思想:二维数组

题目: 思路:首先转置,然后 j 列与 n-1-j 列交换,即完成90度顺时针旋转

[1 2 3]------------ [1 4 7]------------ [7 4 1] [4 5 6]—转置— [2 5 8]—交换— [8 5 2] [7 8 9]------------ [3 6 9]------------ [9 6 3]

java代码

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[i][j]; matrix[i][j] = matrix[j][i]; matrix[j][i] = tmp; } } // j列与n-1-j列交换 for(int i = 0; i < n; i++){ for(int j = 0; j < n/2; j++){ int tmp = matrix[i][j]; matrix[i][j] = matrix[i][n-1-j]; matrix[i][n-1-j] = tmp; } } } }
最新回复(0)