题目链接:https://leetcode-cn.com/problems/spiral-matrix-ii/
题目如下:
思路:
class Solution {
public:
vector<vector<int>> generateMatrix(int n) {
vector<vector<int>> result(n,vector<int>(n));//未赋值,默认为0
int dx[]={0,1,0,-1},dy[]={1,0,-1,0};
for(int i=1,x=0,y=0,d=0;i<=n*n;i++){
result[x][y]=i;
int a=x+dx[d],b=y+dy[d];
if(a>=n||a<0||b>=n||b<0||result[a][b]){
d=(d+1)%4;
a=x+dx[d];b=y+dy[d];
}
x=a;y=b;
}
return result;
}
};