给一串N型排列,把它转换成行排列。直接模拟,可以注意到,第一行和最后一行,间距都是2*step-2,第二行开始两个间距为2*step-4,2然后第一个间距依次+2,第二个间距依次-2
class Solution(object):
def convert(self, s, numRows):
"""
:type s: str
:type numRows: int
:rtype: str
"""
if (numRows == 1) : return s
res = ''
lenS = len(s)
step = numRows * 2 - 2
res = s[::step]
for i in range(1,numRows - 1):
for j in range(i,lenS,step):
res = res + s[j]
if j + (step - i * 2) < lenS :
res = res + s[j + step - i * 2]
i = numRows -1
res = res + s[i::step]
return res