螺旋矩阵 II

59 螺旋矩阵 II

螺旋矩阵 II_第1张图片
LeetCode 59: 螺旋矩阵 II

向右,向下,向左,向上,更新边框
class Solution {
     
public:
    vector<vector<int>> generateMatrix(int n) {
     
        vector<vector<int>>arry(n, vector<int>(n,0));
        int len = n*n + 1;
        int r = 0, d = n-1, l = n-1, u = 0;
        int num = 1;
        while(num < len){
     
            for(int i=r; i<=d; ++i) arry[r][i] = num++; // ->
            ++r;
            for(int i=r; i<=l; ++i) arry[i][d] = num++; // down
            --d;
            for(int i=d; i>=u; --i) arry[l][i] = num++; //<-
            --l;
            for(int i=l; i>=r; --i) arry[i][u] = num++; //up
            ++u;
        }
        return arry;
        // 右 下 左 上 更新边框
        // 以边框层层填充
    }
};

你可能感兴趣的:(#,变换,LeetCode总结)