最快解法
参考了运行时间最短的代码,其使用的思路就是按列排序后连接。
class Solution:
def convert(self, s: str, numRows: int) -> str:
if numRows < 2 : # numRows=1时候,对应输出为原字符串
return s
n = len(s)
lst = ['' for _ in range(numRows)]
down = -1 # down = -1代表行数增加;反之,行数减少
row = 0
for ch in s:
lst[row] += ch
if row == numRows -1 or row == 0:
down *= -1
row += down
return ''.join(lst)