1.感觉这是一道推理题。
给一个字符串s,给他一个竖的长度n,让他变成Z形状(竖的),然后横着读出新的字符串。
这题,数学题了。
链接:
https://leetcode.com/problems/zigzag-conversion/
解题思路就是:
就是画图呗。然后找规律。
2.题解:
class Solution:
def convert(self, s, numRows):
if numRows == 1:
return s
ret = [] # 传递新的list
n = len(s) # 记录s的长度
cycleLen = 2*numRows - 2
for i in range(numRows):
j = 0
while j+i < n:
ret.append(s[j+i])
if i != 0 and i != numRows-1 and j+cycleLen-i < n:
ret.append(s[j+cycleLen-i])
j += cycleLen
return ''.join(ret)
3.完整代码
查看链接:
https://github.com/Wind0ranger/LeetcodeLearn/blob/master/other/6-zigzag-conversion.py