吃大大卷 | #顺时针打印矩阵#
顺时针打印矩阵
https://www.nowcoder.com/practice/9b4c81a02cd34f76be2659fa0d54342a?tpId=265&tqId=39231&rp=1&ru=/exam/oj/ta&qru=/exam/oj/ta&sourceUrl=%2Fexam%2Foj%2Fta%3FtpId%3D13&difficulty=undefined&judgeStatus=undefined&tags=&title=
# -*- coding:utf-8 -*-
class Solution:
# matrix类型为二维列表,需要返回列表
def printMatrix(self, matrix):
# write code here
self.mat = matrix
self.print_info = []
while self.mat:
if self.mat[0]:
self.printTop()
self.printRight()
self.printBottom()
self.printLeft()
else:
del self.mat[0]
return self.print_info
def printTop(self):
if len(self.mat) == 0:
return
elif len(self.mat[0]) == 0:
return
for ele in self.mat[0]:
self.print_info.append(ele)
del self.mat[0]
def printRight(self):
if len(self.mat) == 0:
return
elif len(self.mat[0]) == 0:
return
for ele in self.mat:
self.print_info.append(ele[-1])
del ele[-1]
def printBottom(self):
if len(self.mat) == 0:
return
elif len(self.mat[0]) == 0:
return
for ele in self.mat[-1][::-1]:
self.print_info.append(ele)
del self.mat[-1]
def printLeft(self):
if len(self.mat) == 0:
return
elif len(self.mat[0]) == 0:
return
for ele in self.mat[::-1]:
self.print_info.append(ele[0])
del ele[0]
吃大大卷,拉出一截(打印),吃掉一截(删除)
查看13道真题和解析