Leetcode进阶之路——Rotate Image

来源:互联网 发布:冬日娜的爷爷 知乎 编辑:程序博客网 时间:2024/05/16 01:37

这道题题面简单,类似于矩阵转置,按照钟表的顺时针方向选择90度,自己先画个简单的图:
效果图
矩阵的阶数为4,于是可以得到以下规律:

a00 = a30a01 = a20a21 = a22    ·    ·    ·

即:a[i][j] = a[n-1-i][j](n为阶数)
于是就得到如下代码:

class Solution {public:    void rotate(vector<vector<int>>& matrix) {        vector<vector<int>> tmp(matrix);        int n = matrix[0].size();        for(int i = 0; i < n; ++i)        {            for(int j = 0 ; j < n; ++j)            {                matrix[i][j] = tmp[n-1-j][i];            }        }    }};
0 0