1. 对应力扣题目连接
-
螺旋矩阵 II
-
题目简述:
- 给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。
- 如图:
2. 实现案例代码
public class SpiralMatrix {public static void main(String[] args) {int n = 6;int[][] result = generateMatrix(n);for (int[] row : result) {for (int num : row) {System.out.print(num + " ");}System.out.println();}}public static int[][] generateMatrix(int n) {// 新建一个n*n的矩阵int[][] matrix = new int[n][n];// 设置边界在int top = 0, bottom = n - 1, left = 0, right = n - 1;// 设置一个计数器int num = 1;// 开始循环遍历while (num <= n * n) {// 从左到右进行填充for (int i = left; i <= right; i++) {matrix[top][i] = num++;}top++;// 从上到下进行填充for (int i = top; i <= bottom; i++) {matrix[i][right] = num++;}right--;// 从右到左进行填充for (int i = right; i >= left; i--) {matrix[bottom][i] = num++; }bottom--;// 从下到上进行填充for (int i = bottom; i >= top; i--) {matrix[i][left] = num++;}left++;}return matrix;}}