leetcode hot100 48.旋转图像 矩阵转置

本质是矩阵转置90°

其实就是

  • 先沿「水平轴」翻转(上下翻转)
  • 再沿「左上 → 右下轴」翻转(主对角线翻转)

例如:

python 复制代码
[[1, 2],
 [3, 4]]     

先沿「水平轴」翻转(上下翻转)

python 复制代码
[[3, 4],
 [1, 2]] 

再沿「左上 → 右下轴」翻转(主对角线翻转)

python 复制代码
[[3, 1],
 [4, 2]]
python 复制代码
class Solution:
    def rotate(self, matrix: List[List[int]]) -> None:
        """
        Do not return anything, modify matrix in-place instead.
        """

        n = len(matrix)

        # 上下对称,沿水平轴换位置
        for i in range(n//2):
            matrix[i], matrix[n - 1 - i] = matrix[n - 1 - i], matrix[i]
        
        # 沿「左上 → 右下轴」翻转(主对角线翻转)
        for i in range(n):
            for j in range(i + 1, n):    # 只取上半部分
                matrix[i][j], matrix[j][i] = matrix[j][i], matrix[i][j]   # 与下半部分翻转
                
相关推荐
To_OC3 小时前
LC 35 搜索插入位置:二分查找谁都会,边界条件谁写谁懵
javascript·算法·leetcode
evans在进步10 小时前
LeetCode 189 轮转数组:三次反转原地解决,图解 Java 实现
java·算法·leetcode
旖旎夜光13 小时前
LeetCode 991: 坏了的计算器(贪心算法) —— 题解
数据结构·c++·算法·leetcode·贪心算法
旖旎夜光13 小时前
LeetCode 553:最优除法(贪心算法) —— 题解
数据结构·c++·算法·leetcode·贪心算法
宵时待雨16 小时前
优选算法专题12:队列
算法·leetcode·职场和发展
旖旎夜光17 小时前
LeetCode 435:无重叠区间(贪心算法) —— 题解
数据结构·c++·算法·leetcode·贪心算法
旖旎夜光17 小时前
LeetCode 738:单调递增的数字(贪心算法) —— 题解
数据结构·c++·算法·leetcode·贪心算法
青山木17 小时前
Hot 100 --- 搜索二维矩阵
java·算法·leetcode·矩阵
旖旎夜光17 小时前
LeetCode 1262:可被三整除的最大和 (贪心算法)—— 题解
数据结构·c++·算法·leetcode·贪心算法
203号居民18 小时前
LeetCode hot 100 — 3. 无重复字符的最长子串
linux·算法·leetcode