leetcode59. 螺旋矩阵 II

题目:leetcode59. 螺旋矩阵 II

描述:
给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。
leetcode59. 螺旋矩阵 II_第1张图片
思路:
leetcode59. 螺旋矩阵 II_第2张图片
代码:


public class Solution {
    public int[][] generateMatrix(int n) {
        int[][] arr=new int[n][n];
        int l=0,r=n-1,t=0,b=n-1,start=1,end=n*n;
        while(start<=end)
        {
            for (int i = l; i <=r; i++) {
                arr[t][i]=start++;
            }
            t++;

            for (int i = t; i <= b; i++) {
                arr[i][r]=start++;
            }
            r--;

            for (int i = r; i >=l; i--) {
                arr[b][i]=start++;
            }
            b--;

            for (int i = b; i >=t ; i--) {
                arr[i][l]=start++;
            }
            l++;
        }
        return arr;
    }
}

你可能感兴趣的:(leetcode刷题,算法,数据结构,leetcode)