首页 > 其他 > 详细

顺时针打印矩阵

时间:2019-05-19 16:39:39      阅读:109      评论:0      收藏:0      [点我收藏+]

讨论:https://www.nowcoder.com/profile/2235013/codeBookDetail?submissionId=12595600

 

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

例如,如果输入如下4 X 4矩阵:

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.

 

python实现:

迄今为止找到的最简单的做法,用pop()

def printMatrix(matrix):
    res = []
    while matrix:
        res += matrix.pop(0) # 先将第一行添加进列表中 也可以res.extend(matrix.pop(0))
        if matrix and matrix[0]: 
            for row in matrix: # 遍历每一行
                res.append(row.pop())  # 每一行最后一个
        if matrix: # 如果还存在矩阵 最后一行从右往左
            res += matrix.pop()[::-1] # 最后一行 翻转
        if matrix and matrix[0]: # 如果还存在矩阵 往上添加
            for row in matrix[::-1]:
                res.append(row.pop(0))
    return res

 

顺时针打印矩阵

原文:https://www.cnblogs.com/happyfan/p/10889703.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!