LeetCode 59. Spiral Matrix II

xiaoxiao2021-02-28  91

class Solution { public int[][] generateMatrix(int n) { int[][] a = new int[n][n]; 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; } }

转载请注明原文地址: https://www.6miu.com/read-26434.html

最新回复(0)