力扣100(20)旋转图像

翻转法:

1.核心思想:顺时针旋转90度 = 先上下水平翻转 再沿主对角线翻转。

2.两部操作详解:

第一步:水平翻转:矩阵沿着水平中线对折。只需要遍历矩阵的上半部分,然后和下半部分行交换即可。m[i][j] --m[n-1-i][j] 这二者互换。

第二步:沿主对角线翻转:m[i][j] ---m[j][i].只需要遍历主对角线的左下角的元素

cpp 复制代码
class Solution {
public:
    void rotate(vector<vector<int>>& matrix) {
        //整体思路 先水平翻转 再 主对角线翻转

        int r = matrix.size();//行数
        int l = matrix[0].size();



        //水平对折
        for(int i = 0;i<((r/2));i++){//遍历一半的行数
            for(int j = 0;j<l;j++){//列
                //交换
            swap(matrix[i][j], matrix[l - i - 1][j]);
            }
        }    

        //主对角线交换
        for(int i = 1;i<r;i++){

            for(int j=0;j<i;j++){
               swap(matrix[i][j], matrix[j][i]);
            }
        }    
          
    
        }

};
相关推荐
Navigator_Z1 小时前
LeetCode //C - 1025. Divisor Game
c语言·算法·leetcode
深念Y1 小时前
王者荣耀与英雄联盟数值设计对比:穿透、乘算与加算、增伤乘算更厉害,减伤加算更厉害
数学·算法·游戏·建模·游戏策划·moba·数值
budingxiaomoli2 小时前
优选算法-多源bfs解决拓扑排序问题
算法·宽度优先
隔壁大炮2 小时前
10.PyTorch_元素类型转换
人工智能·pytorch·深度学习·算法
The Chosen One9852 小时前
算法题目分享(二分算法)
算法·职场和发展·蓝桥杯
玛丽莲茼蒿2 小时前
Leetcode hot100 矩阵置零【中等】
算法·leetcode·矩阵
澈2072 小时前
算法进阶:二叉树翻转与环形链表解析
数据结构·算法·排序算法
:1212 小时前
java数组2
java·算法·排序算法
代码飞天2 小时前
算法与数据结构之树——让数据查找更加迅速
数据结构·算法