顺时针打印矩阵

2018-03-30  本文已影响0人  GoDeep

题目描述
输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.

# -*- coding:utf-8 -*-
class Solution:
    def printMatrix(self, matrix):
        # write code here
        res = []
        while matrix:
            # step1
            res += matrix.pop(0)
            # step2
            for row in matrix: 
                if row:  res.append(row.pop())
            # step3
            if matrix: res += matrix.pop()[::-1]
            # step4
            for row in matrix[::-1]: 
                if row:  res.append(row.pop(0))
            
        return res
    

上一篇下一篇

猜你喜欢

热点阅读