leetcode48 旋转图像

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode48 旋转图像相关的知识,希望对你有一定的参考价值。

这道题只需要搞明白矩阵位置跳转逻辑即可,首选是反着赋值,只花费额外变量存储第一个值即可,然后弄清跳转过程。

class Solution {
public:
    void rotate(vector<vector<int>>& matrix) {
        if(matrix.empty()&&matrix[0].empty())
        {
            return;
        }
        int n=matrix.size();
        int i;
        for(i=0;i<n/2;i++)
        {
            rot(matrix,i,i,n-1-i,n-1-i);
        }
        
    }
    void rot(vector<vector<int>>& matrix,int a,int b,int c,int d)
    {
        int i;
        for(i=0;i<d-b;i++)
        {
            int temp=matrix[a][b+i];
            matrix[a][b+i]=matrix[c-i][b];
            matrix[c-i][b]=matrix[c][d-i];
            matrix[c][d-i]=matrix[a+i][d];
            matrix[a+i][d]=temp;
        }
    }
};

 

以上是关于leetcode48 旋转图像的主要内容,如果未能解决你的问题,请参考以下文章

leetcode 每日一题 48. 旋转图像

leetcode 每日一题 48. 旋转图像

LeetCode:旋转图像48

LeetCode(48):旋转图像

LeetCode——48. 旋转图像

Leetcode题目48.旋转图像(中等)