leetcode rotate image

来源:互联网 发布:淘宝怎样推广最有效 编辑:程序博客网 时间:2024/05/16 09:27
class Solution {public:    void rotate(vector<vector<int> > &matrix) {        int n = matrix.size();        if(n < 2){            return;        }        int hl = 0, hr = n - 1, vu = 0, vd = n - 1;        //int len = n - 1;       // int xbase = 0, ybase = 0;       int xbase = 0;        while(hl < hr){            for(int i = hl; i < hr; ++i){                int tmp = matrix[vu][i];                matrix[vu][i] = matrix[vd - i + xbase][hl];                matrix[vd - i + xbase][hl] = matrix[vd][hr - i + xbase];                matrix[vd][hr - i + xbase] = matrix[i][hr];                matrix[i][hr] = tmp;            }            hl++;            hr--;            vu++;            vd--;            xbase++;        }        return;    }};
class Solution {public:    void rotate(vector<vector<int> > &matrix) {        int n = matrix.size();        if(n < 2){            return;        }        int hl = 0, hr = n - 1, vu = 0, vd = n - 1;        int len = n - 1;       // int xbase = 0, ybase = 0;        int xbase = 0;        while(hl < hr){            for(int i = 0; i < len; ++i){                int tmp = matrix[vu][xbase + i];                matrix[vu][xbase + i] = matrix[len - i + xbase][hl];//左上                matrix[len + xbase - i][hl] = matrix[vd][len + xbase - i];//左下                matrix[vd][xbase + len - i] = matrix[xbase + i][hr]; //右下                 matrix[xbase + i][hr] = tmp;//右上            }            hl++;            hr--;            vu++;            vd--;            xbase++;            len -= 2;        }        return;    }};
0 0
原创粉丝点击