LC59. 螺旋矩阵 II

// 区间使用的是闭区间,因此代码中都是循环中都是小于等于
class Solution {
    public int[][] generateMatrix(int n) {
        int left = 0;
        int right = n-1 ;
        int top = 0 ;
        int bottom = n-1;    
        
        int count = 1 ;
        int [][] res = new int [n][n];

        while(count <= n * n){
            for(int i = left ; i <= right; i ++){
                res[top][i] = count ++;
            }
            top ++ ;
            for(int i = top ; i <= bottom ; i ++){
                res[i][right] = count ++;
            }
            right --;
            for(int i = right ; i >= left; i --){
                res[bottom][i] = count ++;
            }
            bottom -- ;
            for(int i = bottom ; i >= top; i --){
                res[i][left] = count ++;
            }
            left ++;
        }
    
        return res;
    }
}

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