20.右旋转图片

1.题目描述

2.解题思路

第一步:专置整个矩阵,按行遍历,记住只需要遍历上三角。

第二部:按行遍历逆置所有行。

动手画一画,头一次写不太好想,做过一次就知道了,都是这么过来的。

3.代码

cpp 复制代码
void rotate(int** matrix, int matrixSize, int* matrixColSize) {
    //先按主对角线转置所有元素
    int row = matrixSize;
    int col = matrixColSize[0];
    for(int i = 0 ;i <= row-1; i++ ){
        for(int j = i+1;j<=col-1;j++){
            int temp = matrix[i][j];
            matrix[i][j] = matrix[j][i];
            matrix[j][i] = temp;
        }
    }
    //开始对每行进行逆置
    for(int k = 0;k<=row-1;k++){
        int i = 0;
        int j = col-1;
      while(i<=j){
        int temp = matrix[k][i];
        matrix[k][i] = matrix[k][col-1-i];
        matrix[k][col-1-i] = temp;
        i++;
        j--;
     }
    } 
}
相关推荐
Larcher17 小时前
数组去重算法:理论与实践深度解析
javascript·算法·代码规范
CS创新实验室18 小时前
数据结构和算法:摊还分析
java·数据结构·算法
curry____30318 小时前
邻接矩阵 和 领接表 和 链式前向星对比
数据结构·c++·算法
通信小呆呆18 小时前
维度分数傅里叶时频图 + 图神经网络:突破传统时频分析的目标识别与杂波抑制新框架
人工智能·神经网络·算法
csdn_aspnet18 小时前
C++ 算法 LeetCode 编号 70 - 爬楼梯
开发语言·c++·算法·leetcode
he___H18 小时前
leetcode100-合并区间
java·数据结构·算法
圣保罗的大教堂18 小时前
leetcode 2770. 达到末尾下标所需的最大跳跃次数 中等
leetcode
wuweijianlove18 小时前
算法性能优化中的数据流重构与依赖消解的技术6
算法
Agent手记18 小时前
智能财务对账Agent如何设计?2026金融大模型Agent架构设计与实战指引
人工智能·算法·ai·金融
Emerson_202618 小时前
stack,queue,list的区别和联系
数据结构·c++·list·queue·stack