Leetcode进阶之路——Rotate Image

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

a00 = a30
a01 = a20
a21 = 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];
            }
        }
    }
};

猜你喜欢

转载自blog.csdn.net/u013700358/article/details/70570208