leetcode-59. Spiral Matrix II(打印蛇形方阵)

来源:互联网 发布:imf数据库历届人均gdp 编辑:程序博客网 时间:2024/06/08 14:52

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;    }}
原创粉丝点击