您的位置:首页 > 其它

LeetCode 59. Spiral Matrix II

2017-08-31 10:33 429 查看
class Solution {
public int[][] generateMatrix(int n) {
int[][] a = new int

;
int i = 0;
int j = 0;
int start = 0;
while (i < n && j < n) {
generate(i, j, a, n, start);
i++;
++j;
n--;
if (i < n && j < n)
start = a[i][j - 1];
}
return a;
}

public void generate(int row, int col, int[][] a, int n, int start) {
int i = row;
int j = col;
a[i][j] = start + 1;
for (j++; j < n; j++) a[i][j] = a[i][j - 1] + 1;
j--;

for (i++; i < n; i++) a[i][j] = a[i -1][j] + 1;
i--;

for (j--; j >= col && i != row; j--) a[i][j] = a[i][j + 1] + 1;
j++;

for (i--; i > row && j != n; i--) a[i][j] = a[i+1][j] + 1;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: