leetcode59 spiral matrix2

思路与54相同,由于为行=列的数组,再判断何时跳出时可简化步骤。

class Solution {
    public int[][] generateMatrix(int n) {
        int[][] matrix = new int[n][n];
        int u=0,d=n-1,s=1;
        while(d>=u){
            for(int i=u;i<=d;i++)   {matrix[u][i]=s++;}u++;
            for(int i=u;i<=d;i++)    {matrix[i][d]=s++;}//r--;
            for(int i=d-1;i>=u-1;i--)   {matrix[d][i]=s++;}d--;
            for(int i=d;i>=u;i--)   {matrix[i][u-1]=s++;}//l++;
         
        }
        return matrix;
    }
}

猜你喜欢

转载自blog.csdn.net/better_girl/article/details/83307925
今日推荐