LeetCode-48 Posted on 2020-09-15 Edited on 2025-02-12 In LeetCode 题目 结果 代码1234567891011121314151617181920212223class Solution { public void rotate(int[][] matrix) { int n = matrix.length; // Transposed matrix 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; } } // Reverse each line 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 - j - 1]; matrix[i][n - j - 1] = tmp; } } }} 123456789101112131415161718192021func rotate(matrix [][]int) { length := len(matrix) // 转置矩阵 for i := 0; i < length; i++ { for j := i; j < length; j++ { swap(matrix, i, j, j, i) } } // 翻转每一行 for i := 0; i < length; i++ { for j := 0; j < length/2; j++ { swap(matrix, i, j, i, length-1-j) } }}func swap(matrix [][]int, i1 int, j1 int, i2 int, j2 int) { tmp := matrix[i1][j1] matrix[i1][j1] = matrix[i2][j2] matrix[i2][j2] = tmp} 复杂度时间复杂度:O(n²) 空间复杂度:O(1),原地排序 Donate WeChat Pay Alipay