//用Java模拟,写起来比较方便
public class Solution {
public int[][] generateMatrix(int n) {int [][] res= new int[n][n];
if(n<=0)return res;
//int res[5050][5050];
int total = n/2;
int mark = 1;
for(int i=0;i<total;i++)
{
for(int up = i;up<n-i;up++)
res[i][up]=mark++;
for(int right = i+1;right<n-i-1;right++)
res[right][n-i-1]=mark++;
for(int down = n-i-1;down>=i;down--)
res[n-i-1][down]=mark++;
for(int left = n-i-1-1;left>=i+1;left--)
res[left][i] = mark++;
}
if(n%2!=0)
res[n/2][n/2]=mark;
return res;
}
}