1.感覺(jué)這是一道推理題铆隘。
給一個(gè)字符串s,給他一個(gè)豎的長(zhǎng)度n南用,讓他變成Z形狀(豎的)膀钠,然后橫著讀出新的字符串。
這題裹虫,數(shù)學(xué)題了肿嘲。
6-Reverse-Integer.png
鏈接:
https://leetcode.com/problems/zigzag-conversion/
解題思路就是:
就是畫(huà)圖唄。然后找規(guī)律筑公。
6-Reverse-Integer.png
2.題解:
class Solution:
def convert(self, s, numRows):
if numRows == 1:
return s
ret = [] # 傳遞新的list
n = len(s) # 記錄s的長(zhǎng)度
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