题目描述:
思路:
难点一:怎样顺时针遍历数组
顺时针打印数组就是通过索引遍历数组,但由于是顺时针遍历,索引变化多,没有办法仅仅根据索引达到顺时针输出的目的,所以应该想到,怎么样变换矩阵,利用常规遍历输出矩阵,顺时针输出需要逆时针旋转矩阵,遍历过的元素不再遍历,所以读取后的元素可以删掉,即每次读取第一行元素,读取完后就删掉,接着逆时针旋转矩阵,循环这样的过程,直到矩阵为空。
难点二:怎样逆时针旋转矩阵
逆时针旋转矩阵就是按照逆时针旋转的方式重组矩阵然后读取矩阵元素,分析每次读取之后重组矩阵的形式,按照每次读取最后一列的规律遍历矩阵,直到矩阵为空。
代码如下:
from typing import List
class Solution:
def spiralOrder(self, matrix: List[List[int]]) -> List