Day3 顺时针打印矩阵【数组】

题目:
输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。

思路:
矩阵是列表的嵌套。
① 打印矩阵第一行,并且删除
② 将整个矩阵逆时针旋转90°
③ 重复步骤一,直到矩阵为空

代码:

class Solution:
    def spiralOrder(self, matrix: List[List[int]]) -> List[int]:
        def rotate(matrix):
            row=len(matrix)
            col=len(matrix[0])
            new_matrix=[]
            for i in range(col):#原matrix的列数等于旋转后matrix的行数
                new_line=[]
                for j in range(row):
                    new_line.append(matrix[j][col-1-i])
                new_matrix.append(new_line)
            return new_matrix
        res=[]
        while matrix:
            res+=matrix.pop(0)
            if matrix:
                matrix=rotate(matrix)
        return res

错误代码和上述代码仅有两处差别,def rotate(self,matrix):matrix=self.rotate(matrix)
报错【solution object has no attribute rotate】

猜你喜欢

转载自blog.csdn.net/weixin_47128888/article/details/112534152