您的位置:首页 > 其它

59. Spiral Matrix II

2017-01-01 16:01 337 查看
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[][] res = new int

;
int rowbegin = 0, rowend = n-1, colbegin = 0, colend = n-1;
int index = 1;
while(rowbegin <= rowend && colbegin <= colend){
for(int i = colbegin; i <= colend; i++){
res[rowbegin][i] = index++;
}
rowbegin++;
for(int i = rowbegin; i <= rowend; i++){
res[i][colend] = index++;
}
colend--;
if(rowbegin <= rowend){
for(int i = colend; i >= colbegin; i--){
res[rowend][i] = index++;
}
}
rowend--;
if(colbegin <= colend){
for(int i = rowend; i >= rowbegin; i--){
res[i][colbegin] = index++;
}
}
colbegin++;
}
return res;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  leetcode