设置一个flag标记,表示数据向前填充还是向后填充。其实还有更简单的方法
值得学习的是python 二元列表的创建方法。
class Solution(object):
def convert(self, s, numRows):"""
:type s: str
:type numRows: int
:rtype: str
"""
i=0
flag=0
row=1
output = ''
if s=='':
return ''
if numRows ==1 or len(s) <= numRows:
return s
out = [[] for _ in range(numRows)]
for c in s:
out[i].extend(c)
if flag==0:
i+=1
row+=1
if row ==numRows:
flag=1
else:
i-=1
row-=1
if row == 1:
flag=0
for a in out:
for v in a:
output=output+v
return output