59. Spiral Matrix II

来源:互联网 发布:手机借款软件 编辑:程序博客网 时间:2024/06/05 15:32

1、题目描述

输入数字n,返回旋转着填入n*n矩阵的矩阵。


2、思路

模拟


3、代码

    vector<vector<int>> generateMatrix(int n) {        vector<vector<int> > ans(n,vector<int>(n,0));        int k=1,count = n*n;        int t=0,b=n-1,l=0,r=n-1;        while(k<=count){            for(int i = l;i<=r&&k<=count;i++){                ans[t][i]=k;                k++;            }            t++;            for(int i=t;i<=b&&k<=count;i++){                ans[i][r]=k;                k++;            }            r--;            for(int i=r;i>=l&&k<=count;i--){                ans[b][i]=k;                k++;            }            b--;            for(int i = b;i>=t&&k<=count;i--){                ans[i][l]=k;                k++;                            }            l++;        }        return ans;    }