剑指offer python版 顺时针打印矩阵

Posted findtruth123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指offer python版 顺时针打印矩阵相关的知识,希望对你有一定的参考价值。

def aa(matrix):
    rows=len(matrix)
    cols=len(matrix[0])
    start=0
    ret=[]
    while start*2 <rows and start*2<cols:
        bb(matrix,rows,cols,start,ret)
        start +=1
        
    return ret


def bb(matrix,rows,cols,start,ret):
    row=rows-start-1
    col=cols-start-1
    
    for c in range(start,col+1):
        ret.append(matrix[start][c])
        
    if start <row:
        for r in range(start+1,row+1):
            ret.append(matrix[r][col])
            
    if start <row and start<col:
        for c in range(start,col)[::-1]:
            ret.append(matrix[row][c])
            
    if start <row and start<col:
        for r in range(start+1,row)[::-1]:
            ret.append(matrix[r][start])
            
a=[[1,2,3],
   [4,5,6],
   [7,8,9]]

print(aa(a))

 

以上是关于剑指offer python版 顺时针打印矩阵的主要内容,如果未能解决你的问题,请参考以下文章

剑指offer-顺时针打印矩阵-数组-python

《剑指offer》面试题20 顺时针打印矩阵 Java版

剑指offer--29顺时针打印矩阵

《剑指offer》---顺时针打印矩阵

剑指 Offer 29. 顺时针打印矩阵 的 详细题解

剑指offer面试题 29. 顺时针打印矩阵