acwing59. 螺旋矩阵 II

class Solution {
public:
    vector<vector<int>> generateMatrix(int n) {
        vector<vector<int>> matrix(n,vector<int>(n));
        int u=0,d=n-1,l=0,r=n-1;
        int index=1;
        while(true){
           for(int i=l;i<=r;i++)matrix[u][i]=index++;
           if(++u>d)break;
           for(int i=u;i<=d;i++)matrix[i][r]=index++;
           if(--r<l)break;
           for(int i=r;i>=l;i--)matrix[d][i]=index++;
           if(--d<u)break;
           for(int i=d;i>=u;i--)matrix[i][l]=index++;
           if(++l>r)break;
        }
        return matrix;
    }
};