给你一个正整数 n
,生成一个包含 1
到 n2
所有元素,且元素按顺时针顺序螺旋排列的 n x n
正方形矩阵 matrix
。
class Solution {
public int[][] generateMatrix(int n) {
int l = 0, r = n - 1 , h = 0, b = n - 1;
int [][] matrix = new int[n][n];
int num = 1;
while(num <= n * n){
for(int i = l;i <= r;i++) {
matrix[h][i] = num;
num++;
}
h++;
for(int i = h;i <= b;i++) {
matrix[i][r] = num;
num++;
}
r--;
for(int i = r;i >= l;i--){
matrix[b][i] = num;
num++;
}
b--;
for(int i = b;i >= h;i--){
matrix[i][l] = num;
num++;
}
l++;
}
return matrix;
}
}