本文共 588 字,大约阅读时间需要 1 分钟。
Q:将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。
比如输入字符串为 "LEETCODEISHIRING" 行数为 3 时,排列如下:
L C I RE T O E S I I GE D H N
之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:"LCIRETOESIIGEDHN"。
class Solution: def convert(self, s: str, numRows: int) -> str: # 如果只有一行,直接输出字符串 if numRows == 1 or numRows >= len(s): return s # 将每一行看成列表的一个字符串元素 res=['']*numRows row,k = 0,1 for i in s: res[row] += i# 字符串拼接 row += k# 根据k进行上下行之间的移动 if row == 0 or row==numRows-1: k = -k return "".join(res)#从上到下把每一行连起来
转载地址:http://qejui.baihongyu.com/