16.旋转图像

给定一个 × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。

你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。

示例 1:

输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]
输出:[[7,4,1],[8,5,2],[9,6,3]]

示例 2:

输入:matrix = [[5,1,9,11],[2,4,8,10],[13,3,6,7],[15,14,12,16]]
输出:[[15,13,2,5],[14,3,4,1],[12,6,8,9],[16,7,10,11]]

思路:先对角线两边互换,再中心线两侧互换。

class Solution {
public:
    void rotate(vector<vector<int>>& matrix) {
        int n=matrix.size();
        for(int i=0;i<n;i++)
        {
            for(int j=0;j<i;j++) //注意这里j要小于i,才能保证遍历对角线一侧的所有数字。
            {
                swap(matrix[i][j],matrix[j][i]);
            }
        }
        for(int i=0;i<n;i++)
        {
            for(int j=0;j<n/2;j++) //这里j要小于n/2,才能遍历中间线一侧的所有元素。
            {
                swap(matrix[i][j],matrix[i][n-j-1]);
            }
        }

    }
};

相关推荐

  1. 旋转图像【矩阵】

    2024-03-16 12:00:02       58 阅读
  2. leetcode48. 旋转图像

    2024-03-16 12:00:02       43 阅读
  3. leetcode48 旋转图像

    2024-03-16 12:00:02       43 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-16 12:00:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-16 12:00:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-16 12:00:02       87 阅读
  4. Python语言-面向对象

    2024-03-16 12:00:02       96 阅读

热门阅读

  1. MongoDB聚合运算符:$firstN

    2024-03-16 12:00:02       47 阅读
  2. MySQL常见的数据类型

    2024-03-16 12:00:02       41 阅读
  3. 一个干净的SSL连接

    2024-03-16 12:00:02       48 阅读
  4. ajax中各个参数的含义是什么?

    2024-03-16 12:00:02       40 阅读
  5. Linux系统——rsync命令

    2024-03-16 12:00:02       34 阅读
  6. 第二十章 构建和配置 Nginx (UNIX® Linux macOS)

    2024-03-16 12:00:02       40 阅读
  7. 微信小程序订阅消息授权弹窗事件

    2024-03-16 12:00:02       40 阅读
  8. 【Node.js从基础到高级运用】八、Express 框架入门

    2024-03-16 12:00:02       39 阅读
  9. 【ansible】ansible模块的使用

    2024-03-16 12:00:02       38 阅读
  10. Ansible自动化运维

    2024-03-16 12:00:02       37 阅读