# The string "PAYPALISHIRING" is written in a zigzag pattern on a given number of rows like this: (you may want to display this pattern in a fixed font for better legibility) # # P A H N # A P L S I I G # Y I R # And then read line by line: "PAHNAPLSIIGYIR" # Write the code that will take a string and make this conversion given a number of rows: # # string convert(string text, int nRows); # convert("PAYPALISHIRING", 3) should return "PAHNAPLSIIGYIR". class Solution(object): def convert(self, s, numRows): """ :type s: str :type numRows: int :rtype: str """ if numRows <= 1: return s result = '' cycle = 2 * numRows - 2 for i in xrange(numRows): for j in xrange(i, len(s), cycle): result += s[j] j2 = (j - i) + cycle - i if i != 0 and i != numRows - 1 and j2 < len(s): result += s[j2] return result
leetcode python - ZigZag Conversion
最新推荐文章于 2026-04-01 02:51:00 发布
本文介绍了一种将字符串以Z字形排列并按行读取的算法实现。该算法接受一个字符串和行数作为输入参数,返回转换后的字符串。通过实例演示了如何使用此方法进行转换。

3694

被折叠的 条评论
为什么被折叠?



