LeetCode 59. Spiral Matrix II

来源:互联网 发布:手机淘宝能实名认证吗 编辑:程序博客网 时间:2024/06/03 15:52


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;    }}