没啥技术含量的一道题。。。刚开始想用数学的方法找规律的,2n-2什么的,后来觉得python的一些特性挺适合这道题的
class Solution:
def convert(self, s: str, numRows: int) -> str:
if (numRows >= len(s) or numRows==1):
return s
res=['' for n in range(numRows)]
row, sign = 0,1
for char in s:
if (row == 0):
sign = 1
elif (row == numRows-1):
sign = -1
res[row] += char
row += sign
return "".join(res)
核心逻辑就是那个sign,不停地换方向,row表示当前character在哪行
56ms,beat 99%