48. Rotate Image

来源:互联网 发布:人工智能三年行动计划 编辑:程序博客网 时间:2024/06/03 16:56

1、题目描述

给一个n*n矩阵,返回它顺时针旋转90度的矩阵。in place修改,不能再声明另一个二维矩阵。


2、思路

顺时针:交换m[i][j]和m[j][i],再按照垂直中线做左右交换。

逆时针:按照垂直中线做左右交换,再交换m[i][j]和m[j][i]。


3、代码

    void rotate(vector<vector<int>>& matrix) {        int n = matrix.size();                for(int i=0;i<n;i++){            for(int j = i+1;j<n;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]);            }        }    }


原创粉丝点击