5/30/2014

47. Spiral Matrix II

public class Solution {
    public int[][] generateMatrix(int n) {
        int[][] res = new int[n][n];
        int level = 0;
        int num = 1;
       
        while(num<n*n) {
            for (int j=level; j<n-1-level; j++) {
                res[level][j] = num;
                num++;
            }
           
            for (int i=level; i<n-1-level; i++) {
                res[i][n-1-level] = num;
                num++;
            }
           
            for (int j=n-1-level; j>level; j--) {
                res[n-1-level][j] = num;
                num++;
            }
           
            for (int i=n-1-level; i>level; i--) {
                res[i][level] = num;
                num++;
            }
           
            level++;
        }
       
        if ((n%2)==1) res[n/2][n/2]=num;
       
        return res;
    }
}

没有评论:

发表评论