public class Solution {
public int[][] generateMatrix(int n) { // 模仿代码https://leetcodenotes.wordpress.com/2013/11/23/leetcode-spiral-matrix-%E6%8A%8A%E4%B8%80%E4%B8%AA2d-matrix%E7%94%A8%E8%9E%BA%E6%97%8B%E6%96%B9%E5%BC%8F%E6%89%93%E5%8D%B0/
int[][] res = new int[n][n];
if(n==0) return res;
int left=0, right = n-1, top = 0, bottom = n-1;
int k=1;
while(left<right && top< bottom){
for(int i=left; i< right; i++){
res[top][i] = k++;
}
for(int j=top;j<bottom; j++){
res[j][right]=k++;
}
for(int x = right; x>left; x--){
res[bottom][x]=k++;
}
for(int y = bottom; y>top; y--){
res[y][left]=k++;
}
left++;
right--;
bottom--;
top++;
}
if(n%2==1) res[n/2][n/2] = k;
return res;
}
}
Spiral Matrix II
最新推荐文章于 2020-07-09 21:54:42 发布