自己做的网站网站搜索公众号平台登录入口官网
文章目录
- 题目
- 题解
题目
59. 螺旋矩阵 II

题解
- 从左到右填充上边界
- 从上到下填充右边界
- 从右到左填充下边界
- 从下到上填充左边界
class Solution(object):def generateMatrix(self, n):""":type n: int:rtype: List[List[int]]"""if n <= 0:return []matrix = [[0] * n for _ in range(n)]left, right, top, bottom = 0, n-1, 0, n-1num = 1while left <= right and top <= bottom:# 从左到右填充上边界for i in range(left, right + 1):matrix[top][i] = numnum += 1top += 1# 从上到下填充右边界for i in range(top, bottom + 1):matrix[i][right] = numnum += 1right -= 1# 从右到左填充下边界for i in range(right, left - 1, -1):matrix[bottom][i] = numnum += 1bottom -= 1# 从下到上填充左边界for i in range(bottom, top - 1, -1):matrix[i][left] = numnum += 1left += 1return matrix