59. 螺旋矩阵 II
给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。
class Solution {
public int[][] generateMatrix(int n) {
int[][] ans = new int[n][n];
int left = 0;
int right = n - 1;
int top = 0;
int bottom = n -1;
int number = 1;
while(top <= bottom && left <= right){
for(int i = left; i <= right; i++){
ans[top][i] = number;
number++;
}
for(int j = top + 1; j <= bottom;j++){
ans[j][right] = number;
number++;
}
if(left < right && top < bottom){
for(int k = right - 1; k >= left; k--){
ans[bottom][k] = number;
number++;
}
for(int g = bottom - 1; g >= top + 1; g--){
ans[g][left] = number;
number++;
}
}
left++;
right--;
top++;
bottom--;
}
return ans;
}
}