59. 螺旋矩阵 II
Posted yangbocsu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了59. 螺旋矩阵 II相关的知识,希望对你有一定的参考价值。
59. 螺旋矩阵 II
一、题目
给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。
二、参考代码
class Solution
public int[][] generateMatrix(int n)
int x1 = 0, y1 = 0;
int x2 = n-1, y2=n-1;
int cnt = 1; // 需要填入矩阵的数字
int[][] ans = new int[n][n];
while(cnt <= n*n)
if(x1 <= x2)
for(int j = y1; j <= y2; j++)
ans[x1][j] = cnt++;
// 上边界下移
x1 ++;
if(y1 <= y2)
for(int i = x1; i <= x2; i++)
ans[i][y2] = cnt++;
// 右边界左移
y2 --;
if(x1 <= x2)
for(int j = y2; j >= y1; j--)
ans[x2][j] = cnt++;
// 下边界 上移
x2 --;
if(y1 <= y2)
for(int i = x2; i >= x1; i--)
ans[i][y1] = cnt++;
// 左边界 右移
y1 ++;
return ans;
以上是关于59. 螺旋矩阵 II的主要内容,如果未能解决你的问题,请参考以下文章