# 54. 螺旋矩阵

[https://leetcode-cn.com/problems/spiral-matrix/](https://leetcode-cn.com/problems/spiral-matrix/)

## 解法一：

从集智王司图那看的（[https://jizhi.im/blog/post/python-quiz-002](https://jizhi.im/blog/post/python-quiz-002)）。 \
非常巧妙，每次先输出矩阵的第一行，然后将剩下的矩阵左旋90度。重复以上步骤。画图比较容易理解。

```python
class Solution:
    def spiralOrder(self, matrix: List[List[int]]) -> List[int]:
        res = []
        #当矩阵非空
        while matrix:
            res.extend(matrix.pop(0))  #输出矩阵第一行
            tmp_arr = []
            for i in zip(*matrix):  #注意zip函数传入的是一个解包，直观上就是从左到右取矩阵的每一列
                tmp_arr.append(list(i))
            #逆序，即得到左旋90度
            matrix = tmp_arr[::-1]
        return res
```
