### 解题思路
经典模拟题,首先定义row = 0,col = -1
然后用试探法判断下一步有没有越界以及可不可以摆放相应的元素
### 代码
class Solution {
public:
vector<vector<int>> generateMatrix(int n) {
vector<vector<int>> res(n,vector<int>(n,0));
int row = 0,col = -1;
int count = 0;
int N = n*n;
while(N){
while(col + 1 < n && !res[row][col+1]) res[row][++col] = ++count,N--;
while(row + 1 < n && !res[row+1][col]) res[++row][col] = ++count,N--;
while(col - 1 >= 0 && !res[row][col-1]) res[row][--col] = ++count,N--;
while(row - 1 >= 0 && !res[row-1][col]) res[--row][col] = ++count,N--;
}
return res;
}
};