Spiral Matrix II

来源:互联网 发布:淘宝有什么好吃的水果 编辑:程序博客网 时间:2024/06/05 11:35

其实这里只要考虑下vector的初始化,然后就可以像Spiral Matrix一样来解这题了。

class Solution {public:    vector<vector<int> > generateMatrix(int n) {        vector<vector<int> >  ans(n, vector<int>(n));//初始化为n个 初始化n的vector        int x1 = 0, x2 = n-1;        int y1 = 0, y2 = n-1;        int i = 1;        while(1)        {            int j;            for(j = x1;j<=x2;j++)                ans[y1][j] = i++;            if(++y1 > y2) break;            for(j = y1;j<=y2;j++)                ans[j][x2] = i++;            if(--x2 < x1) break;            for(j = x2;j>=x1;j--)                ans[y2][j] = i++;            if(--y2 < y1) break;            for(j = y2;j>=y1;j--)                ans[j][x1] = i++;            if(++x1 > x2) break;        }                return ans;    }};


0 0