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]   # 与下半部分翻转
                
相关推荐
8Qi81 小时前
LeetCode 23. 合并 K 个升序链表 —— 小顶堆(PriorityQueue)
数据结构·算法·leetcode·链表·
Lsk_Smion3 小时前
力扣实训 _ [200].岛屿数量
算法·leetcode·深度优先
Lsk_Smion4 小时前
力扣实训 _ [543].二叉树的直径 _ [23].合并K个升序列表
数据结构·算法·leetcode
凯瑟琳.奥古斯特5 小时前
力扣1235:加权区间调度最优解
java·python·算法·leetcode·职场和发展
memcpy06 小时前
LeetCode 2144. 打折购买糖果的最小开销【贪心】
算法·leetcode·职场和发展
散峰而望7 小时前
【算法练习】算法练习精选:陶陶摘苹果(基础+升级)、Music Notes、字串变换,你能AC几道?
数据结构·c++·算法·leetcode·贪心算法·github·动态规划
8Qi88 小时前
LeetCode 148. 排序链表 —— 解法一:自顶向下递归(分治 + 归并)
数据结构·算法·leetcode·链表·递归·分治·归并
菜菜的顾清寒8 小时前
力扣HOT100(50)动态规划-零钱兑换
算法·leetcode·动态规划
8Qi88 小时前
LeetCode 148. 排序链表 —— 解法二:自底向上归并(迭代,O(1) 空间)
数据结构·算法·leetcode·链表·归并·迭代
凯瑟琳.奥古斯特8 小时前
力扣1235完整解法详解
java·开发语言·leetcode