类型:数组
-
顺时针打印矩阵 💚
https://leetcode-cn.com/problems/shun-shi-zhen-da-yin-ju-zhen-lcof/
❓ 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。
💡 模拟
class Solution: def spiralOrder(self, matrix: List[List[int]]) -> List[int]: if not matrix or type(matrix[0]) == int: return matrix ans = [] def travel(x, y, u, v): if x > u or y > v: return for j in range(y, v + 1): ans.append(matrix[x][j]) for i in range(x + 1, u + 1): ans.append(matrix[i][v]) if u > x: for j in range(v - 1, y - 1, -1): ans.append(matrix[u][j]) if v > y: for i in range(u - 1, x, -1): ans.append(matrix[i][y]) travel(x + 1, y + 1, u - 1, v - 1) travel(0, 0, len(matrix) - 1, len(matrix[0]) - 1) return ans时间复杂度:O(mn),空间复杂度:O(1)