题意:把1到n一圈一圈的顺序写到矩形里。
题解:模拟。
class Solution {
public:
vector<vector<int>> generateMatrix(int n) {
vector<vector<int>> ma(n, vector<int>(n));
int t = 0,num = 1;
while(t < (n + 1) / 2)
{
for(int i = t; i < n - t; i++) ma[t][i] = num++;
for(int i = t + 1; i < n - t; i++) ma[i][n - t - 1] = num++;
for(int i = n - t - 2; i >= t; i--) ma[n - t - 1][i] = num++;
for(int i = n - t - 2; i >= t + 1; i--) ma[i][t] = num++;
t++;
}
return ma;
}
};