class Solution:
def convert(self, s: str, numRows: int) -> str:
if numRows < 2: return s
res = ["" for _ in range(numRows)]
i, flag = 0, -1
for c in s:
res[i] += c
if i == 0 or i == numRows - 1: flag = -flag
i += flag
return "".join(res)
二、temp = [0,1,2,3,2,1],把temp当尺子,一段一段量s,再映射到行数就可以了
class Solution:
def convert(self, s: str, numRows: int) -> str:
temp = [i for i in range(numRows)]
temp += temp[1:-1][::-1]
res = [''] * numRows
n = len(s)
for i in range(n):
res[temp[i%len(temp)]] += s[i]
return ''.join(res)