leetcode48 旋转图像

leetcode48 旋转图像

原地算法:不开辟任何数组
先沿 主对角线翻转,然后在沿着中间的竖线翻转
比如:
1 2 3                           1 4 7                    7 4 1
4 5 6   --------> 沿主对角线翻转 2 5 8 --------> 沿中轴翻转8 5 2
7 8 9                           3 6 9                    9 6 3
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++){
                swap(matrix[i][j], matrix[j][i]);
            }
        }

        // 再沿着中轴(竖中轴)翻转
        for(int i = 0; i < n; i++){
            for(int j = 0, k = n - 1; j < k; j++,k--){
                swap(matrix[i][j],matrix[i][k]);
            }
        }
        
    }
};

相关推荐

  1. leetcode48. 旋转图像

    2024-04-15 00:42:02       16 阅读
  2. leetcode48 旋转图像

    2024-04-15 00:42:02       17 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-15 00:42:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-15 00:42:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-15 00:42:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-15 00:42:02       18 阅读

热门阅读

  1. Kotlin 面试题

    2024-04-15 00:42:02       14 阅读
  2. 前端面试问题汇总 - 工程管理工具篇

    2024-04-15 00:42:02       15 阅读
  3. 前端面试问题汇总 - 其他问题

    2024-04-15 00:42:02       15 阅读
  4. c++智能指针(2) -- auto_ptr

    2024-04-15 00:42:02       16 阅读
  5. Elasticsearch 支持的插件 —— 筑梦之路

    2024-04-15 00:42:02       17 阅读
  6. 顺序表菜单栏的实现

    2024-04-15 00:42:02       12 阅读
  7. 漫谈:C语言 值传递 函数参数 指针

    2024-04-15 00:42:02       15 阅读