- 螺旋矩阵 II
给定一个正整数 n,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵。
示例:
输入: 3
输出:
[
[ 1, 2, 3 ],
[ 8, 9, 4 ],
[ 7, 6, 5 ]
]
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/spiral-matrix-ii
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
解法:本题只需将螺旋矩阵一反过来即可
按路径循环 填充数据即可
class Solution {
public int[][] generateMatrix(int n) {
int [] [] ans=new int [n][n];
int count=n*n,temp=0,i=0,j=0;
while(temp<count)
{
while(j<n&&ans[i][j]==0)
{
ans[i][j]=temp+1;
j++;
temp++;
}
j--;i++;
while(i<n&&ans[i][j]==0)
{ ans[i][j]=temp+1;
i++;
temp++;
}
i--;j--;
while(j>=0&&ans[i][j]==0){
ans[i][j]=temp+1;
j--;
temp++;
}
j++;i--;
while(i>=0&&ans[i][j]==0){
ans[i][j]=temp+1;
i--;
temp++;
}
i++;j++;
}
return ans;
}
}