题:将一个给定字符串根据给定的行数,以从上到下、从左到右进行z自行排列
法:设置标志位,碰到第0或者第numsRows-1行,就要改变flag,使row变化的方向发生改变,如果flag为True,就使row+=1,反之让row-=1
def convert(self, s, numRows):
"""
:type s: str
:type numRows: int
:rtype: str
"""
if numRows==1:return s#单独讨论
res=['']* min(len(s),numRows)
row=0
flag=False
for x in s:
res[row]+=x
if row==0 or row==numRows-1:
#改变标志位
flag= not flag
if flag:
row+=1
else:
row-=1
return ''.join(res)