1class Solution:2def spiralMatrix(self, m: int, n: int, head: Optional[ListNode]) -> List[List[int]]:3num = m * n4res = [[-1 for j in range(n)] for i in range(m)]5x, y = 0, 06dx, dy = 1, 07while head:8res[y][x] = head.val9if (10x + dx < 011or x + dx >= n12or y + dy < 013or y + dy >= m14or res[y + dy][x + dx] != -115):16dx, dy = -dy, dx17x = x + dx18y = y + dy19head = head.next20return res