码迷,mamicode.com
首页 > 其他好文 > 详细

leetcode48 旋转图像

时间:2020-03-14 12:48:36      阅读:38      评论:0      收藏:0      [点我收藏+]

标签:跳转   图像   逻辑   oid   cto   tor   ++   pre   solution   

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

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 旋转图像

标签:跳转   图像   逻辑   oid   cto   tor   ++   pre   solution   

原文地址:https://www.cnblogs.com/legendcong/p/12491380.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!