首页 > 代码库 > leetcode--Spiral Matrix II

leetcode--Spiral Matrix II

Given an integer n, generate a square matrix filled with elements from 1 to n2 in spiral order.

For example,
Given n = 3,

You should return the following matrix:

[ [ 1, 2, 3 ], [ 8, 9, 4 ], [ 7, 6, 5 ]]

public class Solution {    public int[][] generateMatrix(int n) {        int[][] result = new int[n][n];		if(n > 0){			int num = 1;			for(int i = 0; i < n / 2; ++i){				for(int k = i; k < n - i; ++k){					result[i][k] = num;					++num;				}				for(int k = i + 1; k < n - (i + 1); ++k){					result[k][n - (i + 1)] = num;					++num;				}				for(int k = i; k < n - i; ++k){					result[n - 1 - i][n - 1 - k] = num; 					++num;				}				for(int k = i + 1; k < n - (i + 1); ++k){					result[n - 1 - k][i] = num;					++num;				}			}			if(n % 2 != 0)				result[n / 2][n / 2] = num;		}		return result;        }}