1
class Solution:
2
def spiralMatrix(self, m: int, n: int, head: Optional[ListNode]) -> List[List[int]]:
3
num = m * n
4
res = [[-1 for j in range(n)] for i in range(m)]
5
x, y = 0, 0
6
dx, dy = 1, 0
7
while head:
8
res[y][x] = head.val
9
if (
10
x + dx < 0
11
or x + dx >= n
12
or y + dy < 0
13
or y + dy >= m
14
or res[y + dy][x + dx] != -1
15
):
16
dx, dy = -dy, dx
17
x = x + dx
18
y = y + dy
19
head = head.next
20
return res

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0