59.螺旋矩阵II题目描述解题思路这一题可以采用一圈一圈由外圈到内圈的填充的方式每一圈由四条边组成上边、右边、下边、左边。通过控制每圈的起始位置和边界范围逐步向内收缩直到所有数字填充完毕。循环为从左到右再从上到下再从右到左再从下到上的方式并且采用左闭右开的边界判定方式。每完成一圈起始点 [startX, startY) 向内移动一位offset 增加 1表示边界向内收缩。如果 n 为奇数最中心会剩下一个格子未被填充此时在循环结束后单独赋值为count。代码classSolution{publicint[][]generateMatrix(intn){int[][]numsnewint[n][n];intstartX0;intstartY0;intcount1;intoffset1;intloop1;inti,j;while(loopn/2){for(jstartY;jn-offset;j){nums[startX][j]count;}for(istartX;in-offset;i){nums[i][j]count;}for(;jstartY;j--){nums[i][j]count;}for(;istartX;i--){nums[i][j]count;}startX;startY;offset;loop;}if(n%21){nums[startX][startY]count;}returnnums;}}