https://leetcode.com/problems/spiral-matrix-ii/#/description
问题描述:
还是蛇形方阵,但是只输入矩阵的行数或列数,打印含有n*n个元素的蛇形矩阵。
思路解析:
参考之前的一道题:http://blog.csdn.net/u013275928/article/details/72627957
代码如下:
public class Solution {
public int[][] generateMatrix(int n) {
int[][] snake=new int[n][n];
if(n==0)return snake;
int k=0;
int rs=0;
int cs=0;
int re=n-1;
int ce=n-1;
while(rs<=re && cs<=ce && k<=n*n)
{
for(int i=cs;i<=ce;i++)
{
snake[rs][i]=++k;
}
rs++;
for(int i=rs;i<=re;++i)
{
snake[i][ce]=++k;
}
ce--;
for(int i=ce;i>=cs;i--)
{
if(rs<=re)
{
snake[re][i]=++k;
}
}
re--;
for(int i=re;i>=rs;--i)
{
if(cs<=ce)
{
snake[i][cs]=++k;
}
}
cs++;
}
return snake;
}
}