LeetCode刷题: 螺旋矩阵 II(day44)
题目描述:
给定一个正整数 n,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵。
示例:
输入: 3
输出:
[
[ 1, 2, 3 ],
[ 8, 9, 4 ],
[ 7, 6, 5 ]
]
思路同前一篇差不多
class Solution {
public int[][] generateMatrix(int n) {
int[][] result = new int[n][n];
int start=0, end=n-1, x=1;
while(start<end) {
for(int i=start; i<end; i++) {
result[start][i]=x++;
}
for(int i=start; i<end; i++) {
result[i][end]=x++;
}
for(int i=end; i>start; i--) {
result[end][i]=x++;
}
for(int i=end; i>start; i--) {
result[i][start]=x++;
}
start++; end--;
}
if(start==end) result[start][start]=x;
return result;
}
}
执行结果:
执行耗时: