def convert(s, numRows):
    if numRows == 1 and numRows >= len(s):
        return s
    li = [[] for x in range(numRows)]
    row, step = 0, 1
    for i in s:
        li[row].append(i)
        if row == 0:
            step = 1
        elif row == numRows - 1:
            step = -1
        row += step
    result = ''
    for y in range(len(li)-1):
        result = result+''.join(li[y])
    return result


s = convert("PAYPALISHIRING", 4)
print(s)
s = convert("LEETCODEISHIRING",4)
#输出结果 LDREOEIIECIHN  正确是LDREOEIIECIHNTSG    检查一下那一步少了什么操作
print(s)


# def convert(s, numRows):
#     if numRows == 1:
#         return s

#     l = [''] * numRows
#     print(l)
#     row,step = 0,1

#     for c in s:
#         if row == 0:
#             step = 1
#         if row == numRows - 1:
#             step = -1
#         l[row] += c
#         row += step
#     return ''.join(l)

# print(convert('LEETCODEISHIRING', 3) )   # 预期输出 'LCIRETOESIIGEDHN'