对于一个矩阵,请设计一个算法,将元素按“之”字形打印。具体见样例。
给定一个整数矩阵mat,以及他的维数nxm,请返回一个数组,其中元素依次为打印的数字。
测试样例:
[[1,2,3],[4,5,6],[7,8,9],[10,11,12]],4,3
返回:[1,2,3,6,5,4,7,8,9,12,11,10]
# -*- coding:utf-8 -*- class Printer: def printMatrix(self, mat, n, m): # write code here list1=[] list2=[] for i in mat: list1.append(i) for i in range(n): if i%2==0: list1[i]=list1[i] else: list1[i]=list1[i][::-1] for i in range(n): for j in list1[i]: list2.append(j) return list2
''' 利用Python内置的enumerate()函数, 可将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列, 同时列出数据和数据下标,一般用在for循环当中。 ''' class Printer: def printMatrix(self, mat, n, m): res = [] for i,elem in enumerate(mat): #遍历索引(数据下标)和对应的数据 if i % 2 == 0: res += elem #如果数据在偶数行,直接按顺序添加数据 else: res += elem[::-1] #如果数据在奇数行,则倒序添加数据,-1是下标起始位置 return res