54. Spiral Matrix

  1. Spiral Matrix

Given an m x n matrix, return all elements of the matrix in spiral order.
在这里插入图片描述
在这里插入图片描述
思路:螺旋矩阵的“削水果”法
通过螺旋联想到“削水果”,即将矩阵“削头”(取第一行,并去掉第一行)后旋转90°(将剩下的矩阵转置),再继续“削头”,从而模拟螺旋。

class Solution:
    def spiralOrder(self, matrix: List[List[int]]) -> List[int]:
        n = []# 结果
        while matrix:# 判断matrix是否还有行,有就“削”,无就结束
            n += matrix.pop(0)# 将matrix第一行的所有元素给n,即“削头”
            matrix = list(zip(*matrix))[::-1]# 旋转90°,等待下次被“削”,
                                             #即matrix剩下的部分进行转置
        return n
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值